{
    "swagger": "2.0",
    "info": {
        "description": "Ciena MCP API specification",
        "version": "5.3.0",
        "title": "Ciena MCP 5.3"
    },
    "schemes": [
        "http",
        "https"
    ],
    "host": "localhost",
    "basePath": "/",
    "consumes": [
        "application/json"
    ],
    "produces": [
        "application/json",
        "application/yang-data+json"
    ],
    "paths": {
        "/nsa/api/v1/alarms/alarmRecordsCounts": {
            "get": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Get the total number of Alarm records in the system.",
                "description": "Alarm record counts returned in JSON format.",
                "operationId": "getTotalRecordsCount",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the total number of alarm records",
                        "schema": {
                            "$ref": "#/definitions/TotalAlarmRecordsCount"
                        }
                    },
                    "500": {
                        "description": "Request failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v1/alarms/device-types": {
            "get": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Get a collection of Alarmed device types.",
                "description": "Device types returned in JSON format.",
                "operationId": "getDeviceTypes",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved device types",
                        "schema": {
                            "$ref": "#/definitions/DeviceTypesRO"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No device types found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Returning collection of device types failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v1/alarms/deviceAttributes/{Id}": {
            "get": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Get the device specific attributes for a device session id.",
                "description": "Device specific attributes returned in JSON format.",
                "operationId": "getDeviceAttributes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Requested node Identifier.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved device attributes by device session id",
                        "schema": {
                            "$ref": "#/definitions/DeviceAttributesRO"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Device attributes not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Device attributes request failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v1/alarms/filter/activeAlarmCountsBasic": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 1)"
                ],
                "summary": "Query active alarm counts of severity CRITICAL, MAJOR, MINOR and WARNING.",
                "description": "",
                "operationId": "getActiveAlarmCounts",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved alarm counts",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Alarm counts retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v1/alarms/filter/activeAlarms": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 1)"
                ],
                "summary": "Search/Filter active Alarms on the system.",
                "description": "List of active Alarms returned in JSON format.",
                "operationId": "searchActiveAlarms",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "severity",
                        "in": "query",
                        "description": "Severity values as a comma separated list. Example: CRITICAL, MAJOR, MINOR, WARNING",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceAffecting",
                        "in": "query",
                        "description": "Service Affecting values as a comma separated list. Example: SERVICE_AFFECTING, NON_SERVICE_AFFECTING",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "deviceType",
                        "in": "query",
                        "description": "Device type values as a comma separated list. Example: OPENSTACK, CN6500, NUAGE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "acknowledgeState",
                        "in": "query",
                        "description": "Acknowledgment state values as a comma separated list.Example: ACKNOWLEDGED, NOT_ACKNOWLEDGED",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "keytext",
                        "in": "query",
                        "description": "Key text to be present in the supported alarm fields. Supported fields include: condition-severity, node-name, resource, acknowledge-state, native-condition-type, and additional-text. Several operators are available including '+' (AND), '|' (OR), '-' (negate).",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "range",
                        "in": "query",
                        "description": "Comma separated last raised time range in format: yyyy-MM-ddTHH:mm:ss.SSS. Example: 1900-01-01T00:00:00.000,2999-12-31T23:59:59.999",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sorting",
                        "in": "query",
                        "description": "Alarm attribute that the response will be sorted on, such as raiseTime, either in ascending or descending order. Example: last-raise-time:DESC",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page of results. Example: 50",
                        "required": false,
                        "type": "string",
                        "default": "0"
                    },
                    {
                        "name": "pageSize",
                        "in": "query",
                        "description": "Limit of the number of alarms present in a page.",
                        "required": false,
                        "type": "string",
                        "default": "500"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved filtered list of alarms",
                        "schema": {
                            "$ref": "#/definitions/ActiveAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Search on alarms failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v1/alarms/filter/historicalAlarms": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 1)"
                ],
                "summary": "Search/Filter historical cleared Alarms on the system.",
                "description": "List of historical cleared Alarms returned in JSON format.",
                "operationId": "searchHistoricalAlarms",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "severity",
                        "in": "query",
                        "description": "Severity values as a comma separated list. Example: CRITICAL, MAJOR, MINOR, WARNING",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceAffecting",
                        "in": "query",
                        "description": "Service Affecting values as a comma separated list. Example: SERVICE_AFFECTING, NON_SERVICE_AFFECTING",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "deviceType",
                        "in": "query",
                        "description": "Device type values as a comma separated list. Example: OPENSTACK, CN6500, NUAGE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "keytext",
                        "in": "query",
                        "description": "Key text to be present in the supported alarm fields. Supported fields include: condition-severity, node-name, resource, acknowledge-state, native-condition-type, and additional-text. Several operators are available including '+' (AND), '|' (OR), '-' (negate).",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "range",
                        "in": "query",
                        "description": "Comma separated clear time range in format: yyyy-MM-ddTHH:mm:ss.SSS. Example: 1900-01-01T0:0:0.000,2999-12-31T23:59:59.999",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sorting",
                        "in": "query",
                        "description": "Alarm attribute that the response will be sorted on, such as raiseTime, either in ascending or descending order. Example: last-raise-time:DESC",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page of results. Example: 50",
                        "required": false,
                        "type": "string",
                        "default": "0"
                    },
                    {
                        "name": "pageSize",
                        "in": "query",
                        "description": "Limit of the number of alarms present in a page.",
                        "required": false,
                        "type": "string",
                        "default": "500"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved filtered list of alarms",
                        "schema": {
                            "$ref": "#/definitions/HistoricalAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Search on alarms failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v1/alarms/historicalAlarms/{retentionDate}": {
            "delete": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Remove historical alarms of the day specified in yyyymmdd format.",
                "description": "Use with caution!",
                "operationId": "removeOldHistoricalAlarms",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "retentionDate",
                        "in": "path",
                        "description": "Removed date in _yyyymmdd_ format",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully removed historical alarms"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Removing historical alarms failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v1/alarms/historicalChangePartition": {
            "get": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Get configuration of if historical alarms change partition.",
                "description": "",
                "operationId": "getHistoricalChangePartition",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully return the configured historical change partition",
                        "schema": {
                            "$ref": "#/definitions/RetentionDaysRO"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to get the historical change partition (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v1/alarms/historicalDataRetentionDays": {
            "get": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Get configuration of historical data retention days.",
                "description": "",
                "operationId": "getHistoricalDataRetentionDays",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully return the configured historical data retention days",
                        "schema": {
                            "$ref": "#/definitions/RetentionDaysRO"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to get the historical data retention days (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v1/alarms/historicalDataRetentionDays/{retentionDays}": {
            "put": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Set configuration of historical data retention days.",
                "description": "Use with caution! The expired data based on the new retention day will be deleted.",
                "operationId": "setHistoricalDataRetentionDays",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "retentionDays",
                        "in": "path",
                        "description": "Number of historical data retention days. Must be between 1 - 365",
                        "required": true,
                        "type": "integer",
                        "format": "int32"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully set the new historical data retention days"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Set the new historical data retention days failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v1/alarms/{Id}/acknowledge": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Acknowledge an active Alarm based on its identifier.",
                "description": "Only active Alarms can be acknowledged.",
                "operationId": "acknowledgeAlarmV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _acknowledged_.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully acknowledged alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Acknowledging a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v1/alarms/{Id}/force-clear": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Force clear an active Alarm based on its identifier (irrespective of its clearable flag).",
                "description": "Never use this REST API unless you have no other option.",
                "operationId": "forceClearAlarmV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _cleared_.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully force cleared alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Clearing a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v1/alarms/{Id}/manual-clear": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Manually clear an active Alarm based on its identifier.",
                "description": "Only manually clearable alarms can be cleared.",
                "operationId": "manualClearAlarmV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _cleared_.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully manually cleared alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Clearing a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v1/alarms/{Id}/unacknowledge": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 1)"
                ],
                "summary": "Unacknowledge an active Alarm based on its identifier.",
                "description": "Only active Alarms can be unacknowledged.",
                "operationId": "unacknowledgeAlarmV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _unacknowledged_.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully un-acknowledged alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Un-acknowledging a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v2_0/alarms/alarm-sync-states": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 2)"
                ],
                "summary": "Get a collection of alarm sync states of given nodes",
                "description": "",
                "operationId": "getAlarmSyncStates",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Alarm query list",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AlarmQueryList"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved alarm sync states",
                        "schema": {
                            "$ref": "#/definitions/NodeAlarmStateRO"
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Get all alarm filters active on the system.",
                "description": "",
                "operationId": "getAllFilters",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved alarm filters",
                        "schema": {
                            "$ref": "#/definitions/Filters"
                        }
                    },
                    "500": {
                        "description": "Filter creation failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Create a unique Alarm filter.",
                "description": "",
                "operationId": "createFilter",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Alarm filter",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Filter"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/Filter"
                        }
                    },
                    "201": {
                        "description": "Filter successfully created",
                        "schema": {
                            "$ref": "#/definitions/Filter"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Filter creation failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/activeAlarmCounts": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Query active alarm counts of severity CRITICAL, MAJOR, MINOR and WARNING.",
                "description": "",
                "operationId": "getActiveAlarmCounts",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved alarm counts",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Alarm counts retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/activeAlarms": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Search/Filter active Alarms on the system.",
                "description": "List of active Alarms returned in JSON format.",
                "operationId": "searchActiveAlarmsV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[severity]",
                        "in": "query",
                        "description": "Severity values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _CRITICAL,MAJOR,MINOR,WARNING_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[serviceAffecting]",
                        "in": "query",
                        "description": "Service affecting values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _SERVICE_AFFECTING,NON_SERVICE_AFFECTING_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[deviceType]",
                        "in": "query",
                        "description": "Device type values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _6500,OPENSTACK,NUAGE_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[acknowledgeState]",
                        "in": "query",
                        "description": "Acknowledgment state values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _ACKNOWLEDGED,NOT_ACKNOWLEDGED_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[deviceId]",
                        "in": "query",
                        "description": "Device id values as a comma separated list.<p>**Example**: _ID1,ID2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[deviceName]",
                        "in": "query",
                        "description": "Case sensitive device name values as a comma separated list.<p>**Example**: _NAME1,NAME2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[ipAddress]",
                        "in": "query",
                        "description": "IP address values as a comma separated list.<p>**Example**: _192.168.42.2,192.168.42.3_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[macAddress]",
                        "in": "query",
                        "description": "Case sensitive MAC address values as a comma separated list.<p>**Example**: _00-04-DC-01-02-03, 00-04-DC-01-02-04_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[additionalText]",
                        "in": "query",
                        "description": "Additional text values as a comma separated list.<p>**Example**: _TEXT1,TEXT2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[annotation]",
                        "in": "query",
                        "description": "Annotation text values as a comma separated list.<p>**Example**: _ANNOTATION1,ANNOTATION2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[nativeConditionType]",
                        "in": "query",
                        "description": "Native condition type values as a comma separated list.<p>**Example**: _TYPE1,TYPE2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[resource]",
                        "in": "query",
                        "description": "Resource values as a comma separated list.<p>**Example**: _RESOURCE1,RESOURCE2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[subnetName]",
                        "in": "query",
                        "description": "Case sensitive subnet name values as a comma separated list.<p>**Example**: _SUBNET01,SUBNET02_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[cardType]",
                        "in": "query",
                        "description": "Card type values as a comma separated list.<p>**Example**: _SP-2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clfi]",
                        "in": "query",
                        "description": "CLFI values as a comma separated list.<p>**Example**: _CLFI01,CLFI02_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[fic]",
                        "in": "query",
                        "description": "FIC values as a comma separated list.<p>**Example**: _FIC01,FIC02_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sorting",
                        "in": "query",
                        "description": "Alarm attribute that the response will be sorted on such as _raiseTime_, either in ascending (ASC) or descending (DESC) order.<p>Values can be provided as a comma separated list or in new lines.</p><p>The latter translates to _sort[]=value1&sort[]=value2&_ ...</p><p>**Example**: _last-raise-time:DESC_</p><p>The JSON API standard is also accepted: _-last-raise-time_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page of results.<p>**Example**: _50_</p>",
                        "required": false,
                        "type": "string",
                        "default": "0"
                    },
                    {
                        "name": "pageSize",
                        "in": "query",
                        "description": "Limit of the number of alarms present in a page.",
                        "required": false,
                        "type": "string",
                        "default": "500"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved filtered list of alarms",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Search on alarms failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v2_0/alarms/filter/additionalTextAggregations": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Query for additional texts in context. Returns a subset of the total additional texts in the system.",
                "description": "Returned in JSON format.",
                "operationId": "getAdditionalTexts",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[additionalText]",
                        "in": "query",
                        "description": "Partial additional text filter value with a minimum of 3 characters.<p>**Example**: _TEX_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selected[additionalText][]",
                        "in": "query",
                        "description": "Additional text values as a comma separated list.<p>**Example**: _TEXT1,TEXT2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[contextState][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved additional texts",
                        "schema": {
                            "$ref": "#/definitions/AdditionalTextsAggregation"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Additional texts retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/deviceNamesAggregations": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Query for device names in context. Returns a subset of the total device names in the system.",
                "description": "Returned in JSON format.",
                "operationId": "getDeviceNames",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[deviceName]",
                        "in": "query",
                        "description": "Partial case sensitive device name filter value with a minimum of 3 characters.<p>**Example**: _NAME1_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selected[deviceName][]",
                        "in": "query",
                        "description": "Case sensitive device name values as a comma separated list.<p>**Example**: _NAME1,NAME2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[contextState][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved device names",
                        "schema": {
                            "$ref": "#/definitions/DeviceNamesAggregation"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Device names retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/filteredAlarms": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Search/Filter all Alarms on the system.",
                "description": "List of filtered Alarms returned in JSON format.",
                "operationId": "searchFilteredAlarms",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[alarmId][]",
                        "in": "query",
                        "description": "Alarm id values as a comma separated list.<p>**Example**: _ID1,ID2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[state][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[contextState][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[severity][]",
                        "in": "query",
                        "description": "Severity values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _CRITICAL,MAJOR,MINOR,WARNING_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[serviceAffecting][]",
                        "in": "query",
                        "description": "Service affecting values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _SERVICE_AFFECTING,NON_SERVICE_AFFECTING_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[deviceType][]",
                        "in": "query",
                        "description": "Device type values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _6500,OPENSTACK,NUAGE_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[acknowledgeState][]",
                        "in": "query",
                        "description": "Acknowledgment state values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _ACKNOWLEDGED,NOT_ACKNOWLEDGED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[deviceId][]",
                        "in": "query",
                        "description": "Device id values as a comma separated list.<p>**Example**: _ID1,ID2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[deviceName][]",
                        "in": "query",
                        "description": "Case sensitive device name values as a comma separated list.<p>**Example**: _NAME1,NAME2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[ipAddress][]",
                        "in": "query",
                        "description": "IP address values as a comma separated list.<p>**Example**: _192.168.42.2,192.168.42.3_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[macAddress][]",
                        "in": "query",
                        "description": "Case sensitive MAC address values as a comma separated list.<p>**Example**: _00-04-DC-01-02-03, 00-04-DC-01-02-04_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[deviceTag][]",
                        "in": "query",
                        "description": "Device tag values as a comma separated list.<p>**Example**: _Tag1,Tag2_",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[additionalText][]",
                        "in": "query",
                        "description": "Additional text values as a comma separated list.<p>**Example**: _TEXT1,TEXT2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[annotation][]",
                        "in": "query",
                        "description": "Annotation text values as a comma separated list.<p>**Example**: _ANNOTATION1,ANNOTATION2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[nativeConditionType][]",
                        "in": "query",
                        "description": "Native condition type values as a comma separated list.<p>**Example**: _TYPE1,TYPE2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[resource][]",
                        "in": "query",
                        "description": "Resource values as a comma separated list.<p>**Example**: _RESOURCE1,RESOURCE2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[resourceList]",
                        "in": "query",
                        "description": "Resource values as a comma separated list.<p>**Example**: _RESOURCE1,RESOURCE2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[resourceId][]",
                        "in": "query",
                        "description": "Resource ID values as a comma separated list.<p>**Example**: _RESOURCEID1,RESOURCEID2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[subnetName][]",
                        "in": "query",
                        "description": "Case sensitive subnet name values as a comma separated list.<p>**Example**: _SUBNET01,SUBNET02_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[cardType][]",
                        "in": "query",
                        "description": "Card type values as a comma separated list.<p>**Example**: _SP-2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[clfi][]",
                        "in": "query",
                        "description": "CLFI values as a comma separated list.<p>**Example**: _CLFI01,CLFI02_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[fic][]",
                        "in": "query",
                        "description": "FIC values as a comma separated list.<p>**Example**: _FIC01,FIC02_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[partition][]",
                        "in": "query",
                        "description": "Partition values as a comma separated list. \"none\" for alarms of NEs with no partition <p>**Example**: _a08a7792-27a5-42d3-9169-2826d3d32b0c,3541ccf8-03d2-3c0a-a7e5-3b88ca78df35_",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTimeFrom]",
                        "in": "query",
                        "description": "Last raised time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTimeTo]",
                        "in": "query",
                        "description": "Last raised time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTimeFrom]",
                        "in": "query",
                        "description": "Last clear time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTimeTo]",
                        "in": "query",
                        "description": "Last clear time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Alarm attribute that the response will be sorted on such as _raiseTime_, either in ascending (ASC) or descending (DESC) order.<p>Values can be provided as a comma separated list or in new lines.</p><p>The latter translates to _sort[]=value1&sort[]=value2&_ ...</p><p>**Example**: _last-raise-time:DESC_</p><p>The JSON API standard is also accepted: _-last-raise-time_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[refinedRaisedTimeFrom]",
                        "in": "query",
                        "description": "Refined raised time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _1900-01-01T00:00:00.000_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[refinedRaisedTimeTo]",
                        "in": "query",
                        "description": "Refined raised time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[refinedClearTimeFrom]",
                        "in": "query",
                        "description": "Refined cleared time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _1900-01-01T00:00:00.000_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[refinedClearTimeTo]",
                        "in": "query",
                        "description": "Refined clear time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[allTime]",
                        "in": "query",
                        "description": "Comma separated time range to be searched in both active and historical alarms, in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page of results.<p>**Example**: _50_</p>",
                        "required": false,
                        "type": "string",
                        "default": "0"
                    },
                    {
                        "name": "pageSize",
                        "in": "query",
                        "description": "Limit of the number of alarms present in a page.",
                        "required": false,
                        "type": "string",
                        "default": "500"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved filtered list of alarms",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Search on alarms failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Search/Filter all Alarms on the system.",
                "description": "List of filtered Alarms returned in JSON format.",
                "operationId": "searchFilteredAlarmsWithBody",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Filtered alarms parameters",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarmsParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved filtered list of alarms",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Search on alarms failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/filteredAlarms/{Id}": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Get an Alarm based on its identifier.",
                "description": "Alarm returned in JSON format.",
                "operationId": "getFilteredAlarm",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Requested alarm identifier.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved alarm by ID",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarm"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "A specific active alarm retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/getCorrelatedAlarmsByService": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Search/Filter all correlated alarms on the system.",
                "description": "List of filtered correlated alarms returned in JSON format.",
                "operationId": "searchCorrelatedAlarms",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "serviceId",
                        "in": "query",
                        "description": "service Id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "filter[severity][]",
                        "in": "query",
                        "description": "Severity values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _CRITICAL,MAJOR,MINOR,WARNING_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[serviceAffecting][]",
                        "in": "query",
                        "description": "Service affecting values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _SERVICE_AFFECTING,NON_SERVICE_AFFECTING_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[deviceType][]",
                        "in": "query",
                        "description": "Device type values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _6500,OPENSTACK,NUAGE_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[acknowledgeState][]",
                        "in": "query",
                        "description": "Acknowledgment state values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _ACKNOWLEDGED,NOT_ACKNOWLEDGED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[deviceId][]",
                        "in": "query",
                        "description": "Device id values as a comma separated list.<p>**Example**: _ID1,ID2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[deviceName][]",
                        "in": "query",
                        "description": "Case sensitive device name values as a comma separated list.<p>**Example**: _NAME1,NAME2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[ipAddress][]",
                        "in": "query",
                        "description": "IP address values as a comma separated list.<p>**Example**: _192.168.42.2,192.168.42.3_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[macAddress][]",
                        "in": "query",
                        "description": "Case sensitive MAC address values as a comma separated list.<p>**Example**: _00-04-DC-01-02-03, 00-04-DC-01-02-04_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[deviceTag][]",
                        "in": "query",
                        "description": "Device tag values as a comma separated list.<p>**Example**: _Tag1,Tag2_",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[additionalText][]",
                        "in": "query",
                        "description": "Additional text values as a comma separated list.<p>**Example**: _TEXT1,TEXT2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[annotation][]",
                        "in": "query",
                        "description": "Annotation text values as a comma separated list.<p>**Example**: _ANNOTATION1,ANNOTATION2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[nativeConditionType][]",
                        "in": "query",
                        "description": "Native condition type values as a comma separated list.<p>**Example**: _TYPE1,TYPE2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[resource][]",
                        "in": "query",
                        "description": "Resource values as a comma separated list.<p>**Example**: _RESOURCE1,RESOURCE2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[resourceList]",
                        "in": "query",
                        "description": "Resource values as a comma separated list.<p>**Example**: _RESOURCE1,RESOURCE2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[resourceId][]",
                        "in": "query",
                        "description": "Resource ID values as a comma separated list.<p>**Example**: _RESOURCEID1,RESOURCEID2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[subnetName][]",
                        "in": "query",
                        "description": "Case sensitive subnet name values as a comma separated list.<p>**Example**: _SUBNET01,SUBNET02_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[cardType][]",
                        "in": "query",
                        "description": "Card type values as a comma separated list.<p>**Example**: _SP-2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[clfi][]",
                        "in": "query",
                        "description": "CLFI values as a comma separated list.<p>**Example**: _CLFI01,CLFI02_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[fic][]",
                        "in": "query",
                        "description": "FIC values as a comma separated list.<p>**Example**: _FIC01,FIC02_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[partition][]",
                        "in": "query",
                        "description": "Partition values as a comma separated list. \"none\" for alarms of NEs with no partition <p>**Example**: _a08a7792-27a5-42d3-9169-2826d3d32b0c,3541ccf8-03d2-3c0a-a7e5-3b88ca78df35_",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTimeFrom]",
                        "in": "query",
                        "description": "Last raised time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTimeTo]",
                        "in": "query",
                        "description": "Last raised time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTimeFrom]",
                        "in": "query",
                        "description": "Last clear time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTimeTo]",
                        "in": "query",
                        "description": "Last clear time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sort[]",
                        "in": "query",
                        "description": "Alarm attribute that the response will be sorted on such as _raiseTime_, either in ascending (ASC) or descending (DESC) order.<p>Values can be provided as a comma separated list or in new lines.</p><p>The latter translates to _sort[]=value1&sort[]=value2&_ ...</p><p>**Example**: _last-raise-time:DESC_</p><p>The JSON API standard is also accepted: _-last-raise-time_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[refinedRaisedTimeFrom]",
                        "in": "query",
                        "description": "Refined raised time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _1900-01-01T00:00:00.000_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[refinedRaisedTimeTo]",
                        "in": "query",
                        "description": "Refined raised time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[refinedClearTimeFrom]",
                        "in": "query",
                        "description": "Refined cleared time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _1900-01-01T00:00:00.000_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[refinedClearTimeTo]",
                        "in": "query",
                        "description": "Refined clear time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page of results.<p>**Example**: _50_</p>",
                        "required": false,
                        "type": "string",
                        "default": "0"
                    },
                    {
                        "name": "pageSize",
                        "in": "query",
                        "description": "Limit of the number of alarms present in a page.",
                        "required": false,
                        "type": "string",
                        "default": "500"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved filtered list of correlated alarms",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Search on alarms failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/historicalAlarms": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Search/Filter historical cleared Alarms on the system.",
                "description": "List of historical cleared Alarms returned in JSON format.",
                "operationId": "searchHistoricalAlarmsV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[severity]",
                        "in": "query",
                        "description": "Severity values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _CRITICAL,MAJOR,MINOR,WARNING_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[serviceAffecting]",
                        "in": "query",
                        "description": "Service affecting values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _SERVICE_AFFECTING,NON_SERVICE_AFFECTING_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[deviceType]",
                        "in": "query",
                        "description": "Device type values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>**Example**: _6500,OPENSTACK,NUAGE_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[deviceId]",
                        "in": "query",
                        "description": "Device id values as a comma separated list.<p>**Example**: _ID1,ID2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[deviceName]",
                        "in": "query",
                        "description": "Case sensitive device name values as a comma separated list.<p>**Example**: _NAME1,NAME2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[ipAddress]",
                        "in": "query",
                        "description": "IP address values as a comma separated list.<p>**Example**: _192.168.42.2,192.168.42.3_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[macAddress]",
                        "in": "query",
                        "description": "Case sensitive MAC address values as a comma separated list.<p>**Example**: _00-04-DC-01-02-03, 00-04-DC-01-02-04_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[additionalText]",
                        "in": "query",
                        "description": "Additional text values as a comma separated list.<p>**Example**: _TEXT1,TEXT2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[nativeConditionType]",
                        "in": "query",
                        "description": "Native condition type values as a comma separated list.<p>**Example**: _TYPE1,TYPE2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[resource]",
                        "in": "query",
                        "description": "Resource values as a comma separated list.<p>**Example**: _RESOURCE1,RESOURCE2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[subnetName]",
                        "in": "query",
                        "description": "Case sensitive subnet name values as a comma separated list.<p>**Example**: _SUBNET01,SUBNET02_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[cardType]",
                        "in": "query",
                        "description": "Card type values as a comma separated list.<p>**Example**: _SP-2_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clfi]",
                        "in": "query",
                        "description": "CLFI values as a comma separated list.<p>**Example**: _CLFI01,CLFI02_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[fic]",
                        "in": "query",
                        "description": "FIC values as a comma separated list.<p>**Example**: _FIC01,FIC02_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sorting",
                        "in": "query",
                        "description": "Alarm attribute that the response will be sorted on such as _raiseTime_, either in ascending (ASC) or descending (DESC) order.<p>Values can be provided as a comma separated list or in new lines.</p><p>The latter translates to _sort[]=value1&sort[]=value2&_ ...</p><p>**Example**: _last-raise-time:DESC_</p><p>The JSON API standard is also accepted: _-last-raise-time_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page of results.<p>**Example**: _50_</p>",
                        "required": false,
                        "type": "string",
                        "default": "0"
                    },
                    {
                        "name": "pageSize",
                        "in": "query",
                        "description": "Limit of the number of alarms present in a page.",
                        "required": false,
                        "type": "string",
                        "default": "500"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved filtered list of alarms",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Search on alarms failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsa/api/v2_0/alarms/filter/ipAddressesAggregations": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Query for IP addresses in context. Returns a subset of the total IP addresses in the system.",
                "description": "Returned in JSON format.",
                "operationId": "getIpAddresses",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[ipAddress]",
                        "in": "query",
                        "description": "Partial IP address filter value with a minimum of 3 characters.<p>**Example**: _192.168_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selected[ipAddress][]",
                        "in": "query",
                        "description": "IP address values as a comma separated list.<p>**Example**: _192.168.42.2,192.168.42.3_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[contextState][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved IP addresses",
                        "schema": {
                            "$ref": "#/definitions/IpAddressesAggregation"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "IP addresses retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/macAddressesAggregations": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Query for MAC addresses in context. Returns a subset of the total MAC addresses in the system.",
                "description": "Returned in JSON format.",
                "operationId": "getMacAddresses",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[macAddress]",
                        "in": "query",
                        "description": "Partial MAC address filter value with a minimum of 3 characters.<p>**Example**: _00-04-DC_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selected[macAddress][]",
                        "in": "query",
                        "description": "Case sensitive MAC address values as a comma separated list.<p>**Example**: _00-04-DC-01-02-03, 00-04-DC-01-02-04_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[contextState][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved MAC addresses",
                        "schema": {
                            "$ref": "#/definitions/MacAddressesAggregation"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "MAC addresses retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/nativeConditionTypeAggregations": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Query for native condition types in context. Returns a subset of the total native condition types in the system.",
                "description": "Returned in JSON format.",
                "operationId": "getNativeConditionTypes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[nativeConditionType]",
                        "in": "query",
                        "description": "Partial native condition type filter value with a minimum of 3 characters.<p>**Example**: _TEX_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selected[nativeConditionType][]",
                        "in": "query",
                        "description": "Native condition type values as a comma separated list.<p>**Example**: _TYPE1,TYPE2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[contextState][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved additional texts",
                        "schema": {
                            "$ref": "#/definitions/NativeConditionTypesAggregation"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Native condition types retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/resourceAggregations": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Query for resources in context. Returns a subset of the total resources in the system.",
                "description": "Returned in JSON format.",
                "operationId": "getResources",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[resource]",
                        "in": "query",
                        "description": "Partial resource filter value with a minimum of 1 character.<p>**Example**: _RES_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selected[resource][]",
                        "in": "query",
                        "description": "Resource values as a comma separated list.<p>**Example**: _RESOURCE1,RESOURCE2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[contextState][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved resources",
                        "schema": {
                            "$ref": "#/definitions/ResourcesAggregation"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Resources retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/subnetNamesAggregations": {
            "get": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Query for subnet names in context. Returns a subset of the total subnet names in the system.",
                "description": "Returned in JSON format.",
                "operationId": "getSubnetNames",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "filter[subnetName]",
                        "in": "query",
                        "description": "Partial case sensitive subnet name filter value with a minimum of 3 characters.<p>**Example**: _NAME1_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selected[subnetName][]",
                        "in": "query",
                        "description": "Case sensitive subnet name values as a comma separated list.<p>**Example**: _NAME1,NAME2_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[contextState][]",
                        "in": "query",
                        "description": "State values as a comma separated list or in new lines.<p>The latter translates to _filter[key][]=value1&filter[key][]=value2&_ ...</p><p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE,CLEARED,SUPERSEDED_</p>",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter[keytext]",
                        "in": "query",
                        "description": "Key text, minimum 3 characters, to be present in the supported alarm fields.<p>Supported fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[lastRaisedTime]",
                        "in": "query",
                        "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "filter[clearTime]",
                        "in": "query",
                        "description": "Comma separated clear time range in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T0:0:0.000,2999-12-31T23:59:59.999_</p>",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved subnet names",
                        "schema": {
                            "$ref": "#/definitions/SubnetNamesAggregation"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Subnet names retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/filter/{channel}": {
            "delete": {
                "tags": [
                    "Search and filter alarms (version 2)"
                ],
                "summary": "Manually delete an alarm filter from the system by filter channel.",
                "description": "Use caution when using this REST API. Active subscribers will no longer receive alarm notifications for their filter and may begin receiving notifications for a new filter.",
                "operationId": "deleteFilter",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "channel",
                        "in": "path",
                        "description": "The channel attribute of the filter to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully deleted alarm filter"
                    },
                    "404": {
                        "description": "Alarm filter not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Alarm filter deletion failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/resetRequestId/{serverId}": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 2)"
                ],
                "summary": "Reset request IDs for all alarms/events for this server ID to zero",
                "description": "Reset request IDs for all alarms/events for this server ID to zero in order to recover from an early request ID roll over",
                "operationId": "resetRequestIdsForServerId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "serverId",
                        "in": "path",
                        "description": "Requested node Identifier.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully reset request IDs"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to reset request IDs (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/{Id}/acknowledge/{sequenceId}": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 2)"
                ],
                "summary": "Acknowledge an active alarm based on its identifier.",
                "description": "Only active Alarms can be acknowledged.",
                "operationId": "acknowledgeAlarm",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _acknowledged_.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "sequenceId",
                        "in": "path",
                        "description": "The alarm's last raise time in milliseconds.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully acknowledged alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Acknowledging a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/{Id}/annotate": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 2)"
                ],
                "summary": "Annotate an active alarm based on its identifier.",
                "description": "Only active Alarms can be annotated.",
                "operationId": "annotateAlarm",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _annotated_.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Annotation event",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Annotation"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully annotate alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Annotating a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/{Id}/force-clear/{sequenceId}": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 2)"
                ],
                "summary": "Force clear an active alarm based on its identifier (irrespective of its clearable flag).",
                "description": "Never use this REST API unless you have no other option.",
                "operationId": "forceClearAlarm",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _cleared_.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "sequenceId",
                        "in": "path",
                        "description": "The alarm's last raise time in milliseconds.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully force cleared alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Clearing a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/{Id}/manual-clear/{sequenceId}": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 2)"
                ],
                "summary": "Manually clear an active alarm based on its identifier.",
                "description": "Only manually clearable alarms can be cleared.",
                "operationId": "manualClearAlarm",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _cleared_.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "sequenceId",
                        "in": "path",
                        "description": "The alarm's last raise time in milliseconds.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully manually cleared alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Clearing a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/{Id}/removeAnnotation": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 2)"
                ],
                "summary": "Remove Annotation of an active alarm based on its identifier.",
                "description": "Only active Alarms can be annotated.",
                "operationId": "removeAnnotation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _annotated_.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully un-annotated alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Un-annotating a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa/api/v2_0/alarms/{Id}/unacknowledge/{sequenceId}": {
            "post": {
                "tags": [
                    "Retrieve and modify alarms (version 2)"
                ],
                "summary": "Unacknowledge an active alarm based on its identifier.",
                "description": "Only active Alarms can be unacknowledged.",
                "operationId": "unacknowledgeAlarm",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "Id",
                        "in": "path",
                        "description": "Identifier of the alarm to be marked as _unacknowledged_.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "sequenceId",
                        "in": "path",
                        "description": "The alarm's last raise time in milliseconds.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully un-acknowledged alarm"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Un-acknowledging a specific active alarm failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa-correlation/api/v1/correlation/getAffectedInventoryIds": {
            "get": {
                "tags": [
                    "nsa-correlationapiv1correlation"
                ],
                "summary": "Get the inventory ids affected by an active alarm",
                "description": "",
                "operationId": "getAffectedInventoryIds",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "alarmId",
                        "in": "query",
                        "description": "alarm id",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved affected inventory ids",
                        "schema": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Get alarm's affected inventories failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa-correlation/api/v1/correlation/getAffectingAlarmIds": {
            "get": {
                "tags": [
                    "nsa-correlationapiv1correlation"
                ],
                "summary": "Get the active alarm ids affecting an inventory",
                "description": "",
                "operationId": "getAffectingAlarmIds",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "inventoryId",
                        "in": "query",
                        "description": "inventory id",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved affecting alarm ids",
                        "schema": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Get affecting alarms ids of inventory failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "nsa-correlationapiv1correlation"
                ],
                "summary": "Get the active alarm ids affecting a list of inventory",
                "description": "",
                "operationId": "getAffectingAlarmIds",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Affecting alarms parameters",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/AffectingAlarmsParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved affecting alarm ids",
                        "schema": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                                "type": "object"
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Get affecting alarms ids of inventory failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa-correlation/api/v1/correlation/getAffectingAlarms": {
            "get": {
                "tags": [
                    "nsa-correlationapiv1correlation"
                ],
                "summary": "Get the active alarms affecting an inventory",
                "description": "",
                "operationId": "getAffectingAlarms",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "inventoryId",
                        "in": "query",
                        "description": "inventory id",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved affecting alarms",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Get affecting alarms of inventory failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "nsa-correlationapiv1correlation"
                ],
                "summary": "Get the active alarms affecting a list of inventory",
                "description": "",
                "operationId": "getAffectingAlarms",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Affecting alarms parameters",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/AffectingAlarmsParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved affecting alarms",
                        "schema": {
                            "$ref": "#/definitions/FilteredAlarms"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Alarm not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Get affecting alarms of inventory failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsa-correlation/api/v1/correlation/ping": {
            "get": {
                "tags": [
                    "nsa-correlationapiv1correlation"
                ],
                "summary": "Check if the inventory correlation service is up",
                "description": "",
                "operationId": "ping",
                "produces": [
                    "text/plain"
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/rbac-e/api/v1/admin/current-user": {
            "get": {
                "description": "Retrieve current flattened user info",
                "operationId": "getCurrentUser",
                "responses": {
                    "200": {
                        "description": "Current user found",
                        "schema": {
                            "$ref": "#/definitions/FlattenUserAccount"
                        }
                    },
                    "204": {
                        "description": " Current user not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/rbac-e/api/v1/admin/current-account": {
            "get": {
                "description": "Retrieve current account info",
                "operationId": "getCurrentSessionData",
                "deprecated": true,
                "responses": {
                    "200": {
                        "description": "Account found",
                        "schema": {
                            "$ref": "#/definitions/UserAccount"
                        }
                    },
                    "204": {
                        "description": " Account not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/rbac-e/api/v1/admin/current-permissions": {
            "get": {
                "description": "Returns list of permissions and partitions available to the\nauthenticated user (from the Authorization header bearer token) given\nthe current GeoRed active/standby state of the site.  If any of the\nuser's roles give the user access to \"all partitions\" then this is\nindicated and the partition list will be empty.",
                "summary": "Retrieve current permissions based on account and geored status",
                "operationId": "getCurrentPermissions",
                "responses": {
                    "200": {
                        "description": "Account found",
                        "schema": {
                            "$ref": "#/definitions/CurrentPermissions"
                        }
                    },
                    "204": {
                        "description": "Account not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/rbac-e/api/v1/admin/resources": {
            "get": {
                "description": "On startup, this service caches all the available resources in the\nsolution, and associates them with the role they are associated with.",
                "summary": "Retrieves a list of all cached resources, associated with their roles.",
                "operationId": "getResources",
                "responses": {
                    "200": {
                        "description": "Resources found",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/Resource"
                            }
                        }
                    },
                    "204": {
                        "description": "No resources are cached on this API-GW"
                    }
                }
            }
        },
        "/rbac-e/api/v1/admin/sessions": {
            "get": {
                "description": "Retrieve all sessions currently in the cache",
                "operationId": "getSessions",
                "responses": {
                    "200": {
                        "description": "Sessions found",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/RbacSession"
                            }
                        }
                    },
                    "204": {
                        "description": "No sessions were available"
                    }
                }
            }
        },
        "/rbac-e/api/v1/admin/usercache": {
            "delete": {
                "description": "This forces api-gw to retrieve user information from the UAC service\nfor every subsequent request received.",
                "summary": "Deletes the internal user cache.",
                "operationId": "clearUserCache",
                "responses": {
                    "200": {
                        "description": "The cache was properly cleared"
                    }
                }
            }
        },
        "/rbac-e/api/v1/audit/configuration": {
            "post": {
                "description": "Configure the audit feature",
                "operationId": "configureAudit",
                "parameters": [
                    {
                        "type": "boolean",
                        "description": "Enable/Disable the addition of the HTTP body in the Audit Logs for every API\nrequest and response entering and leaving the system.",
                        "name": "enable",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Accepted the request and changed the state"
                    }
                }
            }
        },
        "/rbac-e/api/v1/rest/permission": {
            "post": {
                "description": "For the resource and token specified in the body, checks whether the\ntoken is allowed to use the resource.",
                "summary": "Checks resource access permission.",
                "operationId": "validateRestResource",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/RestPermissionData"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Access is allowed",
                        "$ref": "#/responses/grantedRestResourceResponse"
                    },
                    "401": {
                        "description": "Access is not allowed",
                        "$ref": "#/responses/deniedRestResourceResponse"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/files/{path}": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Get a specific file specified by a path managed by an area in the Asset Manager",
                "description": "Files are a sub-resource of an area.",
                "operationId": "GetFile",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "The name of the area to list the files",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "path",
                        "in": "path",
                        "description": "The OS path to the file asset.  Forward slashes in the path may be directly included or URL encoded. Other URL unfriendly characters need to be URL encoded.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "commitHash",
                        "in": "query",
                        "description": "By default, get the current version of the file.  Optionally get the file as of a specific commit specified by a Git commit hash",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RetrievedFile"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Get a specific file specified by a path managed by an area in the Asset Manager",
                "description": "Files are a sub-resource of an area.",
                "operationId": "HeadGetFile",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "The name of the area to list the files",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "path",
                        "in": "path",
                        "description": "The OS path to the file asset.  Forward slashes in the path may be directly included or URL encoded. Other URL unfriendly characters need to be URL encoded.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "commitHash",
                        "in": "query",
                        "description": "By default, get the current version of the file.  Optionally get the file as of a specific commit specified by a Git commit hash",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "List all of the areas in the Asset Manager",
                "description": "Areas are identified by unique strings",
                "operationId": "ListAreas",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Area]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "List all of the areas in the Asset Manager",
                "description": "Areas are identified by unique strings",
                "operationId": "HeadListAreas",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/count": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Count the areas in the Asset Manager",
                "description": "",
                "operationId": "CountAreas",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Count the areas in the Asset Manager",
                "description": "",
                "operationId": "HeadCountAreas",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/changes": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "List all of the recent changes to an area in the Asset Manager",
                "description": "Areas are identified by unique strings",
                "operationId": "ListRecentChanges",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose recent changes are being requested",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ChangeLog]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "List all of the recent changes to an area in the Asset Manager",
                "description": "Areas are identified by unique strings",
                "operationId": "HeadListRecentChanges",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose recent changes are being requested",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Get information for a specific area in the Asset Manager",
                "description": "Areas are identified by unique strings.  If the releaseSignature is different than the versionSignature, an upgrade is available.",
                "operationId": "GetArea",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose information is being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Comma separated list of information fields being requested (if empty all fields are returned)",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "uri",
                                "commitHash",
                                "versionSignature",
                                "releaseSignature",
                                "upgradeAvailable"
                            ]
                        },
                        "collectionFormat": "multi"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/AreaInformationReplyExternal"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Get information for a specific area in the Asset Manager",
                "description": "Areas are identified by unique strings.  If the releaseSignature is different than the versionSignature, an upgrade is available.",
                "operationId": "HeadGetArea",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose information is being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "Comma separated list of information fields being requested (if empty all fields are returned)",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "uri",
                                "commitHash",
                                "versionSignature",
                                "releaseSignature",
                                "upgradeAvailable"
                            ]
                        },
                        "collectionFormat": "multi"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/pullrequests": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "List all of the pull requests for an area",
                "description": "A pull request is a sub-resource of an area",
                "operationId": "ListPullRequests",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose pull requests are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "pendingOnly",
                        "in": "query",
                        "description": "If true, returns only active pull requests; if false, returns all pull requests",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[PullRequest]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "List all of the pull requests for an area",
                "description": "A pull request is a sub-resource of an area",
                "operationId": "HeadListPullRequests",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose pull requests are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "pendingOnly",
                        "in": "query",
                        "description": "If true, returns only active pull requests; if false, returns all pull requests",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "areas"
                ],
                "summary": "Submit a pull request to pull a specified branch into a specified area",
                "description": "A pull request is a sub-resource of an area",
                "operationId": "CreatePullRequest",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area to perform the pull request",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "submission",
                        "description": "Data describing the pull request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PullRequestSubmission"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/PullRequest"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/pullrequests/count": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Count of the pull requests for an area",
                "description": "A pull request is a sub-resource of an area",
                "operationId": "CountPullRequests",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose pull requests are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "pendingOnly",
                        "in": "query",
                        "description": "If true, returns only active pull requests; if false, returns all pull requests",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[PullRequest]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Count of the pull requests for an area",
                "description": "A pull request is a sub-resource of an area",
                "operationId": "HeadCountPullRequests",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose pull requests are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "pendingOnly",
                        "in": "query",
                        "description": "If true, returns only active pull requests; if false, returns all pull requests",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/pullrequests/{requestId}": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Get a specific pull request for an area based on the request identifier",
                "description": "A pull request is a sub-resource of an area",
                "operationId": "GetPullRequest",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose pull request is requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "requestId",
                        "in": "path",
                        "description": "The requestId identifier for the pull request",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PullRequest"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Get a specific pull request for an area based on the request identifier",
                "description": "A pull request is a sub-resource of an area",
                "operationId": "HeadGetPullRequest",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose pull request is requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "requestId",
                        "in": "path",
                        "description": "The requestId identifier for the pull request",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/raw-files/{path}": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Get the bytes on disk of a specific file by path managed by an area in the Asset Manager",
                "description": "Files are a sub-resource of an area.",
                "operationId": "GetFileBytes",
                "produces": [
                    "application/octet-stream",
                    "image/png",
                    "image/jpeg",
                    "image/gif",
                    "image/svg+xml"
                ],
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "The name of the area to list the files",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "path",
                        "in": "path",
                        "description": "The OS path to the file asset.  Forward slashes in the path may be directly included or URL encoded. Other URL unfriendly characters need to be URL encoded.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "commitHash",
                        "in": "query",
                        "description": "By default, get the current version of the file.  Optionally get the file as of a specific commit specified by a Git commit hash.  It is strongly suggested to provide this parameter if linking to the image for display, as it makes the response cacheable.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Get the bytes on disk of a specific file by path managed by an area in the Asset Manager",
                "description": "Files are a sub-resource of an area.",
                "operationId": "HeadGetFileBytes",
                "produces": [
                    "application/octet-stream",
                    "image/png",
                    "image/jpeg",
                    "image/gif",
                    "image/svg+xml"
                ],
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "The name of the area to list the files",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "path",
                        "in": "path",
                        "description": "The OS path to the file asset.  Forward slashes in the path may be directly included or URL encoded. Other URL unfriendly characters need to be URL encoded.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "commitHash",
                        "in": "query",
                        "description": "By default, get the current version of the file.  Optionally get the file as of a specific commit specified by a Git commit hash.  It is strongly suggested to provide this parameter if linking to the image for display, as it makes the response cacheable.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/upgrades": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "List the upgrade history for an area",
                "description": "An upgrade is a sub-resource of an area",
                "operationId": "ListAreaUpgrades",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose upgrade history is requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "pendingOnly",
                        "in": "query",
                        "description": "If true, returns only active upgrade requests; if false, returns all upgrade requests",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[AreaUpgrade]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "List the upgrade history for an area",
                "description": "An upgrade is a sub-resource of an area",
                "operationId": "HeadListAreaUpgrades",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose upgrade history is requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "pendingOnly",
                        "in": "query",
                        "description": "If true, returns only active upgrade requests; if false, returns all upgrade requests",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "areas"
                ],
                "summary": "Submit a request to upgrade an area to the currently installed release version",
                "description": "An upgrade is a sub-resource of an area",
                "operationId": "CreateAreaUpgrade",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area to upgrade",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "sourceDir",
                        "in": "query",
                        "description": "Source directory path for the upgrade on the server (defaults to standard installation directory)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/AreaUpgrade"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/upgrades/count": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Count the upgrade history events for an area",
                "description": "",
                "operationId": "CountAreaUpgrades",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose pull requests are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "pendingOnly",
                        "in": "query",
                        "description": "If true, returns only active pull requests; if false, returns all pull requests",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[PullRequest]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Count the upgrade history events for an area",
                "description": "",
                "operationId": "HeadCountAreaUpgrades",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose pull requests are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "pendingOnly",
                        "in": "query",
                        "description": "If true, returns only active pull requests; if false, returns all pull requests",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/upgrades/{requestId}": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Get a specific upgrade request for an area based on the request identifier",
                "description": "An upgrade is a sub-resource of an area",
                "operationId": "GetAreaUpgrade",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose upgrade is requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "requestId",
                        "in": "path",
                        "description": "The requestId identifier for the area upgrade",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/AreaUpgrade"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Get a specific upgrade request for an area based on the request identifier",
                "description": "An upgrade is a sub-resource of an area",
                "operationId": "HeadGetAreaUpgrade",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "Name of the area whose upgrade is requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "requestId",
                        "in": "path",
                        "description": "The requestId identifier for the area upgrade",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/areas/{areaName}/files": {
            "get": {
                "tags": [
                    "areas"
                ],
                "summary": "Get the list of files managed by an area in the AssetManager",
                "description": "Files are a sub-resource of an area",
                "operationId": "ListFiles",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "The name of the area to list the files",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "commitHash",
                        "in": "query",
                        "description": "By default, list the current set of files.  Optionally list only the files as of a specific commit specified by a Git commit hash",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[FileEntry]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "areas"
                ],
                "summary": "Get the list of files managed by an area in the AssetManager",
                "description": "Files are a sub-resource of an area",
                "operationId": "HeadListFiles",
                "parameters": [
                    {
                        "name": "areaName",
                        "in": "path",
                        "description": "The name of the area to list the files",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "commitHash",
                        "in": "query",
                        "description": "By default, list the current set of files.  Optionally list only the files as of a specific commit specified by a Git commit hash",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/keys": {
            "get": {
                "tags": [
                    "keys"
                ],
                "summary": "List all of the SSH public keys authorized for git access in the Asset Manager",
                "description": "Keys are identified by their fingerprint (16 byte MD5 hash in hexadecimal format without byte separators)",
                "operationId": "ListKeys",
                "parameters": [
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[AuthorizedKey]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "keys"
                ],
                "summary": "List all of the SSH public keys authorized for git access in the Asset Manager",
                "description": "Keys are identified by their fingerprint (16 byte MD5 hash in hexadecimal format without byte separators)",
                "operationId": "HeadListKeys",
                "parameters": [
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "keys"
                ],
                "summary": "Add an SSH public key to the list of the SSH public keys authorized for git access in the Asset Manager",
                "description": "Keys are identified by their fingerprint (16 byte MD5 hash in hexadecimal format without byte separators). Adding a key which is already present results in 409 Conflict.",
                "operationId": "CreateKey",
                "parameters": [
                    {
                        "in": "body",
                        "name": "key",
                        "description": "An RSA public key",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AuthorizedKey"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/AuthorizedKey"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/keys/count": {
            "get": {
                "tags": [
                    "keys"
                ],
                "summary": "List the SSH public keys authorized for git access in the Asset Manager",
                "description": "",
                "operationId": "CountKeys",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "keys"
                ],
                "summary": "List the SSH public keys authorized for git access in the Asset Manager",
                "description": "",
                "operationId": "HeadCountKeys",
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/keys/{keyId}": {
            "delete": {
                "tags": [
                    "keys"
                ],
                "summary": "Remove an SSH public key from the list of the SSH public keys authorized for git access in the Asset Manager",
                "description": "",
                "operationId": "DeleteKey",
                "parameters": [
                    {
                        "name": "keyId",
                        "in": "path",
                        "description": "The fingerprint of the key to remove (16 byte MD5 hash in hexadecimal format without byte separators)",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/asset-manager/api/v1/ping": {
            "get": {
                "tags": [
                    "ping"
                ],
                "summary": "Ping the system to see whether the component is ready to handle requests or not",
                "description": "",
                "operationId": "GetPing",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "ping"
                ],
                "summary": "Ping the system to see whether the component is ready to handle requests or not",
                "description": "",
                "operationId": "HeadGetPing",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/lekha/api/v1/": {
            "get": {
                "description": "1. Exports audit logs based on query params.\n2. Exports all available audit logs if no query params are provided.\n\nNote: Present-day audit logs are downloaded from elastic search and not stored on disk.",
                "produces": [
                    "application/x-tar"
                ],
                "tags": [
                    "audit logs"
                ],
                "summary": "Exports audit logs based on query params.",
                "parameters": [
                    {
                        "$ref": "#/parameters/fromParam"
                    },
                    {
                        "$ref": "#/parameters/toParam"
                    },
                    {
                        "$ref": "#/parameters/last_daysParam"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Tar archive of audit logs",
                        "schema": {
                            "type": "file"
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Some error occurred on server.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "delete": {
                "description": "1. Delete locally stored audit logs based on query params.\n2. Delete all locally stored audit logs if no query params are provided.\n \nNote: Audit logs will be deleted from disk but not from elastic search.",
                "tags": [
                    "audit logs"
                ],
                "summary": "Delete locally stored audit logs based on query params.",
                "parameters": [
                    {
                        "$ref": "#/parameters/fromParam"
                    },
                    {
                        "$ref": "#/parameters/toParam"
                    },
                    {
                        "$ref": "#/parameters/last_days_delete_Param"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Audit logs deleted successfully."
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Some error occurred on server.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/auditProfiles": {
            "get": {
                "tags": [
                    "Retrieves auditProfiles"
                ],
                "summary": "Retrieves a list of auditProfiles provided with the satisfying parameters",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getAuditProfiles",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) A name of the  profile ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "testType",
                        "in": "query",
                        "description": "(Optional) List of comma separated test type that the profiles support",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroups",
                        "in": "query",
                        "description": "(Optional) List of comma separated type groups that the profiles support ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "auditType",
                        "in": "query",
                        "description": "(Optional) List of comma separated audit types that the profiles belong to",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: testType",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieve a list of auditProfiles",
                        "schema": {
                            "$ref": "#/definitions/AuditProfileRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve auditProfiles",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/auditProfiles/{auditProfileId}": {
            "get": {
                "tags": [
                    "Retrieves auditProfiles"
                ],
                "summary": "Retrieves a specific auditProfiles",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getAuditProfileById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditProfileId",
                        "in": "path",
                        "description": "Identifier for the auditProfile to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: testType",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved auditProfile",
                        "schema": {
                            "$ref": "#/definitions/AuditProfileRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "AuditProfile specified does not exist"
                    },
                    "500": {
                        "description": "Failed to retrieve the auditProfile with a given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/auditTargets": {
            "post": {
                "tags": [
                    "Retrieves and creates auditTargets"
                ],
                "summary": "Creates an auditTarget",
                "description": "<p>LATEST VERSION: V1 <p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\" :\n   {\n      \"type\" : \"auditTargets\",\n      \"attributes\" : {\n          \"source\" : \"\",\n          \"queryParams\" : { \n             \"name\" : \"65_0068\"\n           }\n      },\n      \"relationships\" : {\n        \"resources\": {\n          \"data\": [\n           {\n            \"type\": \"Network element maintenance details\",\n            \"id\": \"29b17115-2c3f-35d8-b970-23075ed0e35a\"\n           },\n           {\n            \"type\": \"Network element maintenance details\",\n            \"id\": \"1392e643-ed1e-3182-9b40-dc750790286e\"\n           }\n          ]\n        }\n      }     \n    }\n}",
                "operationId": "postAuditTarget",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "AuditTarget payload",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/AuditTargetRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/AuditTargetRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created an auditTarget",
                        "schema": {
                            "$ref": "#/definitions/AuditTargetRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Ex: Payload is not valid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Can not create an auditTarget on StandBy",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create an auditTarget",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/auditTargets/{auditTargetId}": {
            "get": {
                "tags": [
                    "Retrieves and creates auditTargets"
                ],
                "summary": "Retrieves a specific auditTarget",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getAuditTargetById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditTargetId",
                        "in": "path",
                        "description": "Identifier of the auditTarget to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieve auditTarget by a given id",
                        "schema": {
                            "$ref": "#/definitions/AuditTargetRO"
                        }
                    },
                    "404": {
                        "description": "Cannot find the auditTarget with a given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve auditTarget with a given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/audits": {
            "get": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Retrieves a list of audits provided with the satisfying parameters",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getAudits",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditType",
                        "in": "query",
                        "description": "(Optional) List of comma separated audit types that the audits belong to",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "testType",
                        "in": "query",
                        "description": "(Optional) List of comma separated test types of the audits to be retrieved",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "auditName",
                        "in": "query",
                        "description": "(Optional) List of comma separated names of the audits to be retrieved",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "auditProfile.names",
                        "in": "query",
                        "description": "(Optional) List of comma separated name of the audit profiles that the audits have",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "auditRun.auditState.state",
                        "in": "query",
                        "description": "(Optional) List of comma separated audit state that the audit runs belong to",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: auditProfile, auditRun, auditTarget",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieve audits",
                        "schema": {
                            "$ref": "#/definitions/AuditListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve audits",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Creates an audit",
                "description": "<p>LATEST VERSION: V1 <p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n \"data\" :\n {\n   \"type\": \"audits\",\n   \"attributes\": {\n     \"name\": \"NDP_Audit\",\n     \"auditType\" : \"NeConfiguration\",\n     \"description\" : \"Audit for NDP settings\"\n   },\n   \"relationships\": {\n    \"auditProfiles\": {\n      \"data\": [\n           {\n           \"type\": \"auditProfiles\",\n           \"id\": \"4522e2eb-5367-3763-8135-c157f8f11b6f\"}\n       ]\n     },\n     \"auditTarget\" : {\n      \"data\": {\n       \"type\": \"auditTargets\",\n       \"id\": \"527332b9-050b-47f5-b71f-1cbbb1c93670\"\n      }\n     }\n   }\n }\n }\n\n",
                "operationId": "postAudit",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Audit payload",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/AuditRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/AuditRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created an audit",
                        "schema": {
                            "$ref": "#/definitions/AuditRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Ex: Payload is not valid, auditProfile does not belong to this auditType,auditProfile does not support multiple audits,auditTarget does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "User can not post an audit on Standby.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create an audit",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/audits/{auditId}": {
            "get": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Retrieves a specific audit",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getAuditById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditId",
                        "in": "path",
                        "description": "Identifier of the audit to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: auditProfile, auditRun, auditTarget",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieve audit by id",
                        "schema": {
                            "$ref": "#/definitions/AuditRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "User does not partition access to the audit",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the audit with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the audit with a given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Deletes a specific audit",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "deleteAudit",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditId",
                        "in": "path",
                        "description": "Identifier of the audit to be deleted",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/AuditRO"
                        }
                    },
                    "202": {
                        "description": "Delete has started",
                        "schema": {
                            "$ref": "#/definitions/AuditRO"
                        }
                    },
                    "204": {
                        "description": "Specified Audit does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "User can not delete and audit on StandBy",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Audit App service unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/audits/{auditId}/auditRuns": {
            "post": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Creates an audit Run",
                "description": "",
                "operationId": "postAuditRun",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditId",
                        "in": "path",
                        "description": "Identifier for the auditId to be run",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/AuditRunRO"
                        }
                    },
                    "201": {
                        "description": "Successfully run an Audit",
                        "schema": {
                            "$ref": "#/definitions/AuditRunRO"
                        }
                    },
                    "403": {
                        "description": "User can not run an audit on Standby.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Audit is already running.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "424": {
                        "description": "Failed to run because of MCP App failure.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to run",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/audits/{auditId}/auditRuns/{auditRunId}": {
            "delete": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Deletes a specific auditRun",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "deleteAuditRun",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditId",
                        "in": "path",
                        "description": "Identifier of the audit to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "auditRunId",
                        "in": "path",
                        "description": "Identifier of the auditRun to be deleted",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/AuditRO"
                        }
                    },
                    "202": {
                        "description": "Delete has started",
                        "schema": {
                            "$ref": "#/definitions/AuditRO"
                        }
                    },
                    "204": {
                        "description": "Specified audit run does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Audit App service unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Patches an audit Run",
                "description": "<p>LATEST VERSION: V1notes = <p>LATEST VERSION: V1<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>for all findings\n{\n  \"operations\" : [\n        {\n            \"path\" : \"/data/attributes/auditState\",\n             \"op\" : \"replace\",\n             \"value\" : {\n                \"state\" : \"CancelRequested\"\n             }\n        }\n   ]\n}",
                "operationId": "patchAuditRun",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditId",
                        "in": "path",
                        "description": "Identifier for the auditId to be patched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "auditRunId",
                        "in": "path",
                        "description": "Identifier for the auditRuns to be patched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given auditRun.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AuditPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/AuditRunRO"
                        }
                    },
                    "202": {
                        "description": "Successfully patch the given audit run",
                        "schema": {
                            "$ref": "#/definitions/AuditRunRO"
                        }
                    },
                    "400": {
                        "description": "Invalid patch attributes or values are given",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "User can not patch the given auditRun on Standby.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Audit or audit Run does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to patch",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/audits/{auditId}/auditRuns/{auditRunId}/auditFindings": {
            "get": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Retrieves List of Audit Finding for a specific auditRun",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getAuditFindings",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditId",
                        "in": "path",
                        "description": "Identifier for the auditId to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "auditRunId",
                        "in": "path",
                        "description": "Identifier for the auditRuns to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profileName",
                        "in": "query",
                        "description": "(Optional) List of comma separated profile names that the finding belongs to",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "testType",
                        "in": "query",
                        "description": "(Optional) List of comma separated testType that the finding belongs to",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fixState.state",
                        "in": "query",
                        "description": "(Optional) List of comma separated fix states for the Findings",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be included. The allowed values are: audit, auditRun",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) Maximum number of findings to return, default: 10000",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved list of auditFindings",
                        "schema": {
                            "$ref": "#/definitions/AuditFindingListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve auditFindings",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Patches an audit findings with a fixState under the given auditRun",
                "description": "<p>LATEST VERSION: V1notes = <p>LATEST VERSION: V1<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>request a fix for all findings\n{\n  \"operations\" : [\n        {\n            \"path\" : \"/data/attributes/fixState\",\n             \"op\" : \"replace\",\n             \"value\" : {\n                \"state\" : \"FixRequested\"\n             }\n        }\n   ]\n}\nfor set of findings\n{\n  \"operations\" : [\n        {\n            \"path\" : \"/data/attributes/fixState\",\n             \"op\" : \"replace\",\n             \"value\" : {\n                \"state\" : \"FixRequested\"\n             },\n             \"ids\" : [\"2034023754902357252905\", \"130-21482358043-5834588\", \"5409687504970978404590\"]\n        }\n   ]\n}\nrequest a fix cancel for all findings\n{\n  \"operations\" : [\n        {\n            \"path\" : \"/data/attributes/fixState\",\n             \"op\" : \"replace\",\n             \"value\" : {\n                \"state\" : \"FixCancelRequested\"\n             }\n        }\n   ]\n}\nfor set of findings\n{\n  \"operations\" : [\n        {\n            \"path\" : \"/data/attributes/fixState\",\n             \"op\" : \"replace\",\n             \"value\" : {\n                \"state\" : \"FixCancelRequested\"\n             },\n             \"ids\" : [\"2034023754902357252905\", \"130-21482358043-5834588\", \"5409687504970978404590\"]\n        }\n   ]\n}",
                "operationId": "fixAuditFindings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditId",
                        "in": "path",
                        "description": "Identifier for the auditId to be patched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "auditRunId",
                        "in": "path",
                        "description": "Identifier for the auditRuns to be patched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given auditRun.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AuditPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/AuditRunRO"
                        }
                    },
                    "202": {
                        "description": "Successfully started fix",
                        "schema": {
                            "$ref": "#/definitions/AuditRunRO"
                        }
                    },
                    "400": {
                        "description": "None of the findings are fixable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Patch is forbidden : None of the findings belong to the user's partitionsCan not patch the findings on StandBy",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "424": {
                        "description": "Failed to patch the findings because of MCP App failure.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to patch",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/audits/{auditId}/auditRuns/{auditRunId}/auditFindings/{auditFindingId}": {
            "get": {
                "tags": [
                    "Retrieves, creates, updates and deletes audits"
                ],
                "summary": "Retrieves auditFinding for a specific audit and a specific auditRun",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getAuditFindingById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditId",
                        "in": "path",
                        "description": "Identifier for the auditId to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "auditRunId",
                        "in": "path",
                        "description": "Identifier for the auditRuns to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "auditFindingId",
                        "in": "path",
                        "description": "Identifier for the auditFindings to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be included. The allowed values are: audit, auditRun",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved auditFinding",
                        "schema": {
                            "$ref": "#/definitions/AuditFindingRO"
                        }
                    },
                    "403": {
                        "description": "Does not belong to user's partition",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Invalid character in auditFinding Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve auditFindings with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/testTypes": {
            "get": {
                "tags": [
                    "Retrieves a specific testType"
                ],
                "summary": "Return list of testTypes",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getTestTypes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "auditType",
                        "in": "query",
                        "description": "Optional, AuditType",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieve list of testTypes",
                        "schema": {
                            "$ref": "#/definitions/TestTypeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve list of testTypes",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/audit/api/v1/testTypes/{testTypeId}": {
            "get": {
                "tags": [
                    "Retrieves a specific testType"
                ],
                "summary": "Retrieves a list of testType provided with the satisfying parameters",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getTestTypeById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "testTypeId",
                        "in": "path",
                        "description": "Identifier for the testType to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved a testType",
                        "schema": {
                            "$ref": "#/definitions/TestTypeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "TestType specified does not exist"
                    },
                    "500": {
                        "description": "Failed to retrieve the testType with a given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "AuditApp service unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v1/backup": {
            "get": {
                "tags": [
                    "Backup Service API V1"
                ],
                "summary": "List details of all backup processes",
                "description": "List all backup processes",
                "operationId": "listBackupJobs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Details were found successfully",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/BackupJobRO"
                            }
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Backup Service API V1"
                ],
                "summary": "Trigger Backup Process",
                "description": "Trigger Backup Process",
                "operationId": "backupSolution",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Backup request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BackupRequestRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Backup request is accepted",
                        "schema": {
                            "$ref": "#/definitions/BackupJob"
                        }
                    },
                    "400": {
                        "description": "The backup request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while backup",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v1/backup/{jobId}": {
            "get": {
                "tags": [
                    "Backup Service API V1"
                ],
                "summary": "List details of a particular backup process",
                "description": "List details of a particular backup process",
                "operationId": "getBackupJob",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Backup job Id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup job was found successfully",
                        "schema": {
                            "$ref": "#/definitions/BackupJobRO"
                        }
                    },
                    "404": {
                        "description": "The job doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v1/restore": {
            "get": {
                "tags": [
                    "Backup Service API V1"
                ],
                "summary": "List details of all restore processes",
                "description": "List all restore processes",
                "operationId": "listRestoreJobs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Details were found successfully",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/RestoreJobRO"
                            }
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Backup Service API V1"
                ],
                "summary": "Trigger Restore Process",
                "description": "Trigger Restore Process",
                "operationId": "restoreSolution",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Restore request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/RestoreRequestRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Restore request is accepted",
                        "schema": {
                            "$ref": "#/definitions/RestoreJobRO"
                        }
                    },
                    "400": {
                        "description": "The restore request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while restoring",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v1/restore/{jobId}": {
            "get": {
                "tags": [
                    "Backup Service API V1"
                ],
                "summary": "List details of a particular restore process",
                "description": "List details of a particular restore process",
                "operationId": "getRestoreJob",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Job Id of restore job",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Restore job was found successfully",
                        "schema": {
                            "$ref": "#/definitions/RestoreJobRO"
                        }
                    },
                    "404": {
                        "description": "The job doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Backup Service API V1"
                ],
                "summary": "Delete a completed restore job",
                "description": "Delete a completed restore job",
                "operationId": "deleteRestoreJob",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Job Id of restore job",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Restore job was deleted successfully"
                    },
                    "404": {
                        "description": "The restore job doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v1/snapshots": {
            "get": {
                "tags": [
                    "Backup Service API V1"
                ],
                "summary": "List snapshots",
                "description": "List all existing snapshots",
                "operationId": "listSnapshots",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "solutionName",
                        "in": "query",
                        "description": "Solution Name",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Snapshots were found successfully",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v2/backupSettings": {
            "get": {
                "tags": [
                    "Backup Settings Rest Service V2"
                ],
                "summary": "List backup settings",
                "description": "List backup settings",
                "operationId": "listBackupSettings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Backup settings are retrieved successful",
                        "schema": {
                            "$ref": "#/definitions/BackupSettingsRO"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while retrieving backup settings",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v2/backupSettings/{id}": {
            "patch": {
                "tags": [
                    "Backup Settings Rest Service V2"
                ],
                "summary": "Update backup settings",
                "description": "Update backup settings",
                "operationId": "updateBackupSettings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Backup settings Id, valid value is '1'",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Backup settings",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BackupSettingsRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup settings are updated",
                        "schema": {
                            "$ref": "#/definitions/BackupSettingsRO"
                        }
                    },
                    "400": {
                        "description": "The backup settings update request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while updating backup settings",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v2/backups": {
            "get": {
                "tags": [
                    "Backup Snapshot Rest Service V2"
                ],
                "summary": "List details of all backup schedules",
                "description": "List details of all backup schedules",
                "operationId": "listBackupDetails",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "scheduleName",
                        "in": "query",
                        "description": "Backup schedule name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Backup status",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scheduleName_contains",
                        "in": "query",
                        "description": "Backup schedule name contains",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "in": "query",
                        "description": "Backup sorting, sorting on 'executionTime', 'scheduleName' and 'status' are supported. By default sorted in descending order on 'executionTime'.\nUse a dash in front of the attribute name (e.g. ordering=-executionTime) for sorting in descending order.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Details were found successful",
                        "schema": {
                            "$ref": "#/definitions/BackupSnapshotListRO"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v2/schedules": {
            "get": {
                "tags": [
                    "Backup Schedule Rest Service V2"
                ],
                "summary": "List all backup schedules",
                "description": "List all backup schedules",
                "operationId": "listBackupSchedules",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Backup schedule name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "Backup schedule state",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name_contains",
                        "in": "query",
                        "description": "Backup schedule name contains",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "in": "query",
                        "description": "Backup schedule sorting, sorting on 'name' and 'state' are supported. By default sorted in ascending order on 'name'.\nUse a dash in front of the attribute name (e.g. ordering=-name) for sorting in descending order.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Details were found successful",
                        "schema": {
                            "$ref": "#/definitions/BackupScheduleListRO"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Backup Schedule Rest Service V2"
                ],
                "summary": "Create a backup schedule",
                "description": "Create a backup schedule.<p>A backup request will be executed immediately if no schedule is provided in the request body.<p>A backup request can be scheduled for SITE or SOLUTION. When backup is scheduled for SITE, solutionName turns out to be optiotnal. <p>For Solution Backup, entityType turns out to be optional. Supported entityType values are SITE and SOLUTION<p>A backup request can be scheduled to the future, executed once or in a recurring manner. <p>Setting the force flag will force a backup to run even when some apps are stopped. The supported backup frequencies are ONCE, DAILY, WEEKLY and MONTHLY.<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"type\": \"schedules\",\n        \"attributes\": {\n            \"entityType\\\": \\\"{{ENTITY_TYPE}}\",\n            \"solutionName\": \"{{TEST_SOLUTION}}\",\n            \"name\": \"daily\",\n            \"label\": \"daily\",\n            \"schedule\": {\n                \"frequency\": \"DAILY\",\n                \"utcTime\": \"01:00\"\n            },\n            \"force\": false\n        }\n    }\n}\n</code></pre>",
                "operationId": "backupSolution",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Backup schedule",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BackupScheduleRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Backup request is accepted",
                        "schema": {
                            "$ref": "#/definitions/BackupScheduleRO"
                        }
                    },
                    "400": {
                        "description": "The backup request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while backup",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v2/schedules/{id}": {
            "get": {
                "tags": [
                    "Backup Schedule Rest Service V2"
                ],
                "summary": "List a particular backup schedule",
                "description": "List a particular backup schedule",
                "operationId": "getBackupSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Backup schedule Id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup schedule was found successful",
                        "schema": {
                            "$ref": "#/definitions/BackupScheduleRO"
                        }
                    },
                    "404": {
                        "description": "The backup schedule doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Backup Schedule Rest Service V2"
                ],
                "summary": "Delete a particular backup schedule",
                "description": "Delete a particular backup schedule",
                "operationId": "deleteBackupSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Backup schedule Id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The backup schedule was successfully deleted"
                    },
                    "400": {
                        "description": "Backup is in progress",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The backup schedule doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Backup Schedule Rest Service V2"
                ],
                "summary": "Update a particular active backup schedule",
                "description": "Update a particular active backup schedule. Full data should be provided in the request body for the update.<p>A backup request will be executed immediately if no schedule is provided in the request body.<p>A backup request can be scheduled to the future, executed once or in a recurring manner. <p>Setting the force flag will force a backup to run even when some apps are stopped. The supported backup frequencies are ONCE, DAILY, WEEKLY and MONTHLY.<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"type\": \"schedules\",\n        \"attributes\": {\n            \"solutionName\": \"{{TEST_SOLUTION}}\",\n            \"name\": \"daily\",\n            \"label\": \"daily\",\n            \"schedule\": {\n                \"frequency\": \"DAILY\",\n                \"utcTime\": \"01:00\"\n            },\n            \"force\": false\n        }\n    }\n}\n</code></pre>",
                "operationId": "updateBackupSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Backup schedule Id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Backup request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BackupScheduleRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Backup schedule update request is accepted",
                        "schema": {
                            "$ref": "#/definitions/BackupScheduleRO"
                        }
                    },
                    "400": {
                        "description": "The backup schedule update request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/backupservice/api/v2/schedules/{id}/backups": {
            "get": {
                "tags": [
                    "Backup Schedule Rest Service V2"
                ],
                "summary": "List details of a particular backup schedule",
                "description": "List details of a particular backup schedule",
                "operationId": "getBackupDetails",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Backup schedule Id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Backup status",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "in": "query",
                        "description": "Backup sorting, sorting on 'executionTime', 'scheduleName' and 'status' are supported. By default sorted in descending order on 'executionTime'.\nUse a dash in front of the attribute name (e.g. ordering=-executionTime) for sorting in descending order.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Backup details were found successful",
                        "schema": {
                            "$ref": "#/definitions/BackupSnapshotListRO"
                        }
                    },
                    "404": {
                        "description": "The backup schedule doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/commissioning/api/v1/scripts/": {
            "get": {
                "tags": [
                    "Scripts Management"
                ],
                "description": "Use this API to fetch the commissioning scripts for a planned project.\n\nPrerequisite: Commissioning scripts must exist for specified project.\n",
                "summary": "Get commissioning scripts",
                "parameters": [
                    {
                        "name": "projectname",
                        "in": "query",
                        "description": "Project Name of planned network",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "devicetype",
                        "in": "query",
                        "description": "Device type planned network i.e., 6500, Waveserver",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nodename",
                        "in": "query",
                        "description": "Node name in a planned network",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "shelfId",
                        "in": "query",
                        "description": "Shelf Id of the generated script e.g. Shelf number 0,1,2,11,21 etc or ALL",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "format",
                        "in": "query",
                        "description": "Script format to be returned i.e., ztpScript, json, cli",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved commissioning scripts.",
                        "schema": {
                            "title": "CommissioningScriptsData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "projectName": {
                                            "type": "string"
                                        },
                                        "relatedProjects": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "nodes": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "nodeType": {
                                                        "type": "string"
                                                    },
                                                    "nodeName": {
                                                        "type": "string"
                                                    },
                                                    "shelves": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "shelfId": {
                                                                    "type": "string"
                                                                },
                                                                "scripts": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "release": {
                                                                                "type": "string"
                                                                            },
                                                                            "sequenceId": {
                                                                                "type": "string"
                                                                            },
                                                                            "deviceType": {
                                                                                "type": "string"
                                                                            },
                                                                            "scriptId": {
                                                                                "type": "string"
                                                                            },
                                                                            "commands": {
                                                                                "type": "array",
                                                                                "items": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "commandType": {
                                                                                            "type": "string"
                                                                                        },
                                                                                        "command": {
                                                                                            "type": "string"
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find projectname parameter."
                    },
                    "500": {
                        "description": "Retrieval of commissioning scripts failed, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Scripts Management"
                ],
                "description": "Use this API to delete the commissioning scripts for a project name.\n\nPrerequisite: Commissioning scripts must exist for specified project.\n",
                "summary": "Delete commissioning scripts",
                "parameters": [
                    {
                        "name": "projectname",
                        "in": "query",
                        "description": "Project Name of planned network",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted commissioning scripts."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find projectname parameter."
                    },
                    "500": {
                        "description": "Deletion of commissioning scripts failed, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Scripts Management"
                ],
                "description": "Use this API to generate the commissioning scripts for a planned project.\n\nPrerequisite: Project must have been planned, committed and deployment planning data(example: TID, IP and FIC) must have been provided.\n",
                "summary": "Generate and return commissioning scripts",
                "parameters": [
                    {
                        "name": "projectname",
                        "in": "query",
                        "description": "Project Name of planned network",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "policyid",
                        "in": "query",
                        "description": "Policy id of commissioning policy to be used",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully generated commissioning scripts.",
                        "schema": {
                            "title": "CommissioningScriptsData",
                            "type": "object",
                            "$ref": "#/definitions/scriptsSummaryData"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find projectname parameter."
                    },
                    "500": {
                        "description": "Generation of commissioning scripts failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/commissioning/api/v1/scriptsSummary/": {
            "get": {
                "tags": [
                    "Scripts Management"
                ],
                "description": "Use this API to retrieve summary of commissioning scripts.",
                "summary": "Get commissioning scripts summary",
                "parameters": [
                    {
                        "name": "projectname",
                        "in": "query",
                        "description": "Project Name of planned network",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved commissioning scripts summary.",
                        "schema": {
                            "title": "Scripts summary data",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "$ref": "#/definitions/scriptsSummaryData"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of scripts summary failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/commissioning/api/v1/equipment/": {
            "post": {
                "tags": [
                    "Equipment Commissioning"
                ],
                "description": "Use this API to commission the topologies of a provisioned equipment.\n\nPrerequiste: Equipment project must have been planned, committed and equipment must be provisioned. \n",
                "summary": "Commission topologies of an equipment",
                "responses": {
                    "201": {
                        "description": "Successfully submitted request to commission topologies of an equipment."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Failed to commission equipment topologies, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "newEquipment",
                        "in": "body",
                        "description": "New equipment to be commissioned.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/newEquipment"
                        }
                    }
                ]
            }
        },
        "/commissioning/api/v1/policy/": {
            "get": {
                "tags": [
                    "Policy Management"
                ],
                "description": "Use this API to retrieve a policy by id or to retrieve all policies.\n\nPrerequisite: Policy must exist for specified policy id.\n",
                "summary": "Get policy details",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Id of the policy",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved policy details.",
                        "schema": {
                            "title": "Policies data",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "description": {
                                                "type": "string"
                                            },
                                            "policy_name": {
                                                "type": "string"
                                            },
                                            "state": {
                                                "type": "string"
                                            },
                                            "policy_type": {
                                                "type": "string"
                                            },
                                            "policy_id": {
                                                "type": "string"
                                            },
                                            "customer_name": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find policy id parameter."
                    },
                    "500": {
                        "description": "Retrieval of policy failed, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Policy Management"
                ],
                "description": "Use this API to delete a policy.\n\nPrerequisite: Policy must exist for specified policy id.\n",
                "summary": "Delete policy details",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Id of the policy",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted policy."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find policy id parameter."
                    },
                    "500": {
                        "description": "Deletion of policy failed, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Policy Management"
                ],
                "description": "Use this API to create a policy.\n\nPrerequisite: Policy type for this policy must exist in commissioning.\n",
                "summary": "Create a policy",
                "responses": {
                    "200": {
                        "description": "Successfully created policy.",
                        "schema": {
                            "title": "PolicyData",
                            "type": "object",
                            "properties": {
                                "description": {
                                    "type": "string"
                                },
                                "policy_name": {
                                    "type": "string"
                                },
                                "state": {
                                    "type": "string"
                                },
                                "policy_type": {
                                    "type": "string"
                                },
                                "policy_id": {
                                    "type": "string"
                                },
                                "customer_name": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Policy creation failed, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "newPolicy",
                        "in": "body",
                        "description": "Policy object.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/policy"
                        }
                    }
                ]
            },
            "put": {
                "tags": [
                    "Policy Management"
                ],
                "description": "Use this API to update a policy state.\n\nPrerequisite: Policy must exist in commissioning.\n",
                "summary": "Update a policy",
                "responses": {
                    "200": {
                        "description": "Successfully updated policy."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Policy update failed, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Id of policy.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "policy",
                        "in": "body",
                        "description": "Policy object.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/policy"
                        }
                    }
                ]
            }
        },
        "/commissioning/api/v1/policyTypes/": {
            "get": {
                "tags": [
                    "Policy Management"
                ],
                "description": "Use this API to retrieve all policy types supported in commissioning.",
                "summary": "Get all policy types",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved policy types.",
                        "schema": {
                            "title": "PolicyTypesData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "supported_operation": {
                                                "type": "string"
                                            },
                                            "master_template": {
                                                "type": "string"
                                            },
                                            "policy_type": {
                                                "type": "string"
                                            },
                                            "defaults_file": {
                                                "type": "string"
                                            },
                                            "handler_class": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Retrieval of policy types failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/commissioning/api/v1/policyDefaults/": {
            "get": {
                "tags": [
                    "Policy Defaults Management"
                ],
                "description": "Use this API to retrieve defaults for a policy or to retrieve defaults for all policies of a specific policy type or to retrieve defaults for all policies.\n\nPrerequisite: Policy must exist for specified policy id.\n",
                "summary": "Get defaults of a policy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Id of the policy",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Type of the policy",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved defaults for specified policy id.",
                        "schema": {
                            "title": "DefaultsData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find policyId parameter."
                    },
                    "500": {
                        "description": "Retrieval of defaults failed, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Policy Defaults Management"
                ],
                "description": "Use this API to reset defaults for a policy.\n\nPrerequisite: Policy must exist for specified policy id.\n",
                "summary": "Reset defaults of a policy",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Id of the policy",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully reset defaults of a policy."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find policyId parameter."
                    },
                    "500": {
                        "description": "Reset of defaults failed, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Policy Defaults Management"
                ],
                "description": "Use this API to set the custom defaults for a policy.\n\nPrerequisite: Policy type for this policy must exist in commissioning.\n",
                "summary": "Set custom defaults for a policy",
                "responses": {
                    "201": {
                        "description": "Successfully updated defaults for a policy."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Defaults update failed, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Id of policy.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "defaults",
                        "in": "body",
                        "description": "Value of defaults",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/defaults"
                        }
                    }
                ]
            },
            "put": {
                "tags": [
                    "Policy Defaults Management"
                ],
                "description": "Use this API to set the custom defaults for a policy.\n\nPrerequisite: Policy must exist in commissioning.\n",
                "summary": "Set custom defaults for a policy",
                "responses": {
                    "201": {
                        "description": "Successfully updated defaults of a policy."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Defaults update failed, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Id of policy.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "defaults",
                        "in": "body",
                        "description": "Value of defaults.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/defaults"
                        }
                    }
                ]
            }
        },
        "/commissioning/api/v2/ipsubnet/": {
            "get": {
                "tags": [
                    "IP Subnet Management"
                ],
                "description": "Use this API to retrieve allocated IP Subnet.",
                "summary": "Get IP Subnet details",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved allocated IPAddress Subnets.",
                        "schema": {
                            "$ref": "#/definitions/subnetallocation"
                        }
                    },
                    "500": {
                        "description": "Retrieval of IPSubnet failed, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "IP Subnet Management"
                ],
                "description": "Use this API to delete allocated IPSubnet for given OspfArea.",
                "summary": "Delete IP Subnet OspfArea Address",
                "parameters": [
                    {
                        "name": "data",
                        "in": "body",
                        "description": "subnetId with OspfArea.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ipremoval"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted IPSubnet."
                    },
                    "400": {
                        "description": "Bad Request OspfArea or subnetId is not valid or does not exist."
                    },
                    "500": {
                        "description": "Internal Error in deletion of OspfArea, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "IP Subnet Management"
                ],
                "description": "Use this API to Allocate new IP Subnet and OspfArea for the Shelf,\n\n Provide IP address with Subnet and CIDR for Shelf ",
                "summary": "Allocate IP Subnet and ospfArea Addresses",
                "responses": {
                    "201": {
                        "description": "Successfully allocated IP Subnet and OspfArea."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters OspfArea or IPsubnet Parameter is wrong."
                    },
                    "500": {
                        "description": "Failed to Allocate IPSubnet, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "IPAddressSubnet",
                        "in": "body",
                        "description": "ipsubnet object.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/subnet"
                        }
                    }
                ]
            }
        },
        "/commissioning/api/v1/ipsubnet/": {
            "get": {
                "tags": [
                    "IPv4 Subnet Management"
                ],
                "deprecated": true,
                "description": "Use this API to retrieve allocated IPv4 Subnet.",
                "summary": "Get IPv4 Subnet details",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved allocated IPAddress Subnets.",
                        "schema": {
                            "title": "IPSubnet",
                            "type": "object",
                            "properties": {
                                "ipsubnet": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "usage": {
                                                "type": "string"
                                            },
                                            "subnetId": {
                                                "type": "string"
                                            },
                                            "ospfArea": {
                                                "type": "string"
                                            },
                                            "shelfIP": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of IPv4 Address allocation failed, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "IPv4 Subnet Management"
                ],
                "deprecated": true,
                "description": "Use this API to delete allocated IPv4 OspfArea Address.",
                "summary": "Delete IPv4 OspfArea Address",
                "parameters": [
                    {
                        "name": "data",
                        "in": "body",
                        "description": "subnetId with OspfArea.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ipremoval"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted ospfArea."
                    },
                    "400": {
                        "description": "Bad Request OspfArea or subnetId is not valid or does not exist."
                    },
                    "500": {
                        "description": "Internal Error in deletion of OspfArea, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "IPv4 Subnet Management"
                ],
                "deprecated": true,
                "description": "Use this API to Allocate new IPv4 Subnet and OspfArea for the Shelf,\n\n Provide IPv4 address with Subnet and CIDR for Shelf ",
                "summary": "Allocate IPv4 shelf subnet and ospfArea Addresses",
                "responses": {
                    "201": {
                        "description": "Successfully allocated IPv4 Address and OspfArea."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters OspfArea or ShelfIP Parameter is wrong."
                    },
                    "500": {
                        "description": "Failed to Allocate IPAddress, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "ipsubnet",
                        "in": "body",
                        "description": "ipsubnet object.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ipsubnet"
                        }
                    }
                ]
            }
        },
        "/commissioning/api/v2/reservedIP/": {
            "get": {
                "tags": [
                    "Reserved IPAddress Management"
                ],
                "description": "Use this API to retrieve reserved network data for shelves, crafts. \n\nPrerequisite: IPAddress network data must be uploaded for deployed shelf or craft.",
                "summary": "Get Reserved IPAddress data of Interface (shelves , crafts)",
                "parameters": [
                    {
                        "name": "tid",
                        "in": "query",
                        "description": "Target Identifier for shelves with reserved IPAddress",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved reserved shelves, crafts IPAddress data.",
                        "schema": {
                            "title": "Reserved IPAddress of Shelves or crafts",
                            "type": "object",
                            "properties": {
                                "reservedIPdata": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "type": {
                                                "type": "string"
                                            },
                                            "projectId": {
                                                "type": "string"
                                            },
                                            "ospfArea": {
                                                "type": "string"
                                            },
                                            "shelfNumber": {
                                                "type": "string"
                                            },
                                            "tid": {
                                                "type": "string"
                                            },
                                            "projectName": {
                                                "type": "string"
                                            },
                                            "IP": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve  reserved shelves or craft IPAddress data, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Reserved IPAddress Management"
                ],
                "description": "Use this API to delete reserved shelf IPAddress data.",
                "summary": "Reserved IPAddress Management",
                "parameters": [
                    {
                        "name": "data",
                        "in": "body",
                        "description": "Tid with ShelfNumber.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/deployedShelfRemoval"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted reserved IPAddress data."
                    },
                    "400": {
                        "description": "Bad Request, ShelfNumber or Tid is not valid or does not exist."
                    },
                    "500": {
                        "description": "Internal Error in deletion of Shelf, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Reserved IPAddress Management"
                ],
                "description": "Use this API to load reserved shelf or craft IPAddress data into commissioning.\n\nPrerequisite: Shelves are already deployed in the network and are not commissioned using scripts generated by commissioning",
                "summary": "Reserved IPAddress of the Interface (shelf or craft) data",
                "responses": {
                    "201": {
                        "description": "Successfully loaded IPAddress data."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Failed to load IPAddress data, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "reservedIP",
                        "in": "body",
                        "description": "Reserved IPAddress of the Interface.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/reservedIP"
                        }
                    }
                ]
            }
        },
        "/commissioning/api/v1/deployedIPv4Data/": {
            "get": {
                "tags": [
                    "Deployed Network IPv4 Management"
                ],
                "deprecated": true,
                "description": "Use this API to retrieve deployed IPv4 network data for shelves. \n\nPrerequisite: IPv4 network data must be uploaded for deployed shelf.",
                "summary": "Get deployed shelves IPv4 data",
                "parameters": [
                    {
                        "name": "tid",
                        "in": "query",
                        "description": "Target Identifier for shelves in deployed IPv4 network",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved deployed shelves IPv4 data.",
                        "schema": {
                            "title": "Deployed Shelf",
                            "type": "object",
                            "properties": {
                                "deployedShelf": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "usage": {
                                                "type": "string"
                                            },
                                            "projectId": {
                                                "type": "string"
                                            },
                                            "ospfArea": {
                                                "type": "string"
                                            },
                                            "shelfNumber": {
                                                "type": "string"
                                            },
                                            "tid": {
                                                "type": "string"
                                            },
                                            "projectName": {
                                                "type": "string"
                                            },
                                            "shelfIP": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve deployed shelves IPv4 data, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Deployed Network IPv4 Management"
                ],
                "deprecated": true,
                "description": "Use this API to delete deployed shelf IPv4 data.",
                "summary": "Delete deployed shelf IPv4 data",
                "parameters": [
                    {
                        "name": "data",
                        "in": "body",
                        "description": "Tid with ShelfNumber.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/deployedShelfRemoval"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted shelf IPv4 data."
                    },
                    "400": {
                        "description": "Bad Request, ShelfNumber or Tid is not valid or does not exist."
                    },
                    "500": {
                        "description": "Internal Error in deletion of Shelf, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Deployed Network IPv4 Management"
                ],
                "deprecated": true,
                "description": "Use this API to load deployed shelves IPv4 data into commissioning.\n\nPrerequisite: Shelves are already deployed in the network and are not commissioned using scripts generated by commissioning",
                "summary": "Load deployed shelves IPv4 data",
                "responses": {
                    "201": {
                        "description": "Successfully loaded shelves IPv4 data."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Failed to load shelves IPv4 data, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "deployedNetwork",
                        "in": "body",
                        "description": "deployed Network object.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/deployedNetwork"
                        }
                    }
                ]
            }
        },
        "/commissioning/api/v1/ipaddress/": {
            "get": {
                "tags": [
                    "Retrieval of IPAdress Management"
                ],
                "description": "Retrieve IPAddress from given subnet or tid.",
                "summary": "Get IPAddress under a given subnet or tid",
                "parameters": [
                    {
                        "name": "tid",
                        "in": "query",
                        "description": "tid or Target Identifier",
                        "type": "string"
                    },
                    {
                        "name": "subnet",
                        "in": "query",
                        "description": "Subnet",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully Retrieved IPAddress.",
                        "schema": {
                            "title": "IPAddress",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "$ref": "#/definitions/ipaddressdata"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of IPAddress failed. error message provided in logs and response."
                    }
                }
            }
        },
        "/commissioning/api/v1/services/": {
            "get": {
                "tags": [
                    "Service Management"
                ],
                "description": "Retrieve provisioned services state.",
                "summary": "Get provisioned services state",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved provisioned services state."
                    },
                    "500": {
                        "description": "Retrieval of provisioned services state failed, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Service Management"
                ],
                "description": "Perform manual provisioning of all services like SNMP, NTP etc. which is normally done after successful discovery of network element. If performed for a specific service this operation will queue a request per discovered node. The processing of requests for all nodes will take time to complete. Subsequent Post requests for a service will be rejected until the queue has been completely processed",
                "summary": "Trigger service provisioning",
                "responses": {
                    "201": {
                        "description": "Successfully provisioned services."
                    },
                    "202": {
                        "description": "Request has been accepted for provisioning."
                    },
                    "500": {
                        "description": "Failed to provision services, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "sessionid",
                        "in": "query",
                        "description": "Session id of the network element.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nodename",
                        "in": "query",
                        "description": "Node name in a planned network.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "deviceType",
                        "in": "query",
                        "description": "The provisioning of the service to be trigger against provided type of network elements e.g. 6500, Waveserver, Waveserver Ai",
                        "required": false,
                        "type": "string",
                        "examples": [
                            "Waveserver Ai",
                            "Waveserver",
                            "6500"
                        ]
                    },
                    {
                        "name": "service",
                        "in": "query",
                        "description": "Service to be provisioned, if not provided by default all applicable services will be provisioned. Bulk operation may be slow.",
                        "required": false,
                        "type": "string",
                        "examples": [
                            "license",
                            "ntp",
                            "snmp"
                        ]
                    }
                ]
            }
        },
        "/commissioning/api/v1/uap-6500-1/": {
            "get": {
                "tags": [
                    "User Access Privileges Management"
                ],
                "description": "Validate User Access Level 1 Privilege",
                "summary": "Determine User Access Level 1 Privilege",
                "responses": {
                    "200": {
                        "description": "User has 6500 Level 1 Access privileges."
                    },
                    "500": {
                        "description": "User does not have any access privileges."
                    }
                }
            }
        },
        "/commissioning/api/v1/uap-6500-2/": {
            "get": {
                "tags": [
                    "User Access Privileges Management"
                ],
                "description": "Validate User Access Level 2 Privilege",
                "summary": "Determine User Access Level 2 Privilege",
                "responses": {
                    "200": {
                        "description": "User has 6500 Level 2 Access privileges."
                    },
                    "500": {
                        "description": "User does not have Level 2 Access privileges."
                    }
                }
            }
        },
        "/commissioning/api/v1/uap-6500-3/": {
            "get": {
                "tags": [
                    "User Access Privileges Management"
                ],
                "description": "Validate User Access Level 3 Privilege",
                "summary": "Determine User Access Level 3 Privilege",
                "responses": {
                    "200": {
                        "description": "User has 6500 Level 3 Access privileges."
                    },
                    "500": {
                        "description": "User does not have Level 3 Access privileges."
                    }
                }
            }
        },
        "/commissioning/api/v1/uap-6500-4/": {
            "get": {
                "tags": [
                    "User Access Privileges Management"
                ],
                "description": "Validate User Access Level 4 Privilege",
                "summary": "Determine User Access Level 4 Privilege",
                "responses": {
                    "200": {
                        "description": "User has 6500 Level 4 Access privileges."
                    },
                    "500": {
                        "description": "User does not have Level 4 Access privileges."
                    }
                }
            }
        },
        "/commissioning/api/v1/uap-6500-5/": {
            "get": {
                "tags": [
                    "User Access Privileges Management"
                ],
                "description": "Validate User Access Level 5 Privilege",
                "summary": "Determine User Access Level 5 Privilege",
                "responses": {
                    "200": {
                        "description": "User has 6500 Level 5 Access privileges."
                    },
                    "500": {
                        "description": "User does not have Level 5 Access privileges."
                    }
                }
            }
        },
        "/commissioning/api/v1/deploymentData/": {
            "get": {
                "tags": [
                    "Deployment data"
                ],
                "description": "Use this API to retrieve the deployment data of the planning project.",
                "summary": "Get the deployment data of the planning project",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved deployment data of the project.",
                        "schema": {
                            "title": "Deployment data",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "$ref": "#/definitions/projectDeploymentData"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Retrieval of deployment data failed, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "projectname",
                        "in": "query",
                        "description": "Project Name of planned network.",
                        "required": true
                    }
                ]
            },
            "post": {
                "tags": [
                    "Deployment data"
                ],
                "description": "Use this API to add/update the deployment data of the planning project.",
                "summary": "Update the deployment data of the planning project.",
                "responses": {
                    "201": {
                        "description": "Request sent successfully to update the deployment of the project.",
                        "schema": {
                            "title": "Deployment data",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "$ref": "#/definitions/projectPostDeploymentResponseData"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Updation of deployment data failed, error message provided in logs and response."
                    }
                },
                "parameters": [
                    {
                        "name": "projectname",
                        "in": "query",
                        "description": "Project Name of planned network.",
                        "required": true
                    },
                    {
                        "name": "body",
                        "in": "body",
                        "description": "Network construct userdata and attribute data to be updated.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PostDeploymentRequestData"
                        }
                    }
                ]
            }
        },
        "/ifd/api/configResource": {
            "get": {
                "tags": [
                    "configuration Resource"
                ],
                "summary": "Get all existing configuration values",
                "description": "",
                "operationId": "getAllConfigurations",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "default": {
                        "description": "successful operation"
                    }
                }
            },
            "put": {
                "tags": [
                    "configuration Resource"
                ],
                "summary": "Updates and add configuration name and value",
                "description": "This API allows updating  configuration property ",
                "operationId": "putConfiguration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "ConfigResource property as JSON Profile wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ConfigResourceRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/ConfigResourceResponse"
                        }
                    },
                    "201": {
                        "description": "Configuration property has been stored"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/configResource/{propertyName}": {
            "get": {
                "tags": [
                    "configuration Resource"
                ],
                "summary": "Gets the value for the given configName",
                "description": "",
                "operationId": "getConfiguration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "propertyName",
                        "in": "path",
                        "description": "PropertyName used for lookup",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ConfigResourceResponse"
                        }
                    },
                    "404": {
                        "description": "Config Name Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/configResource": {
            "get": {
                "tags": [
                    "Configuration Resource v1"
                ],
                "summary": "Get all existing configuration values",
                "description": "",
                "operationId": "getAllConfigurations",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "default": {
                        "description": "successful operation"
                    }
                }
            },
            "put": {
                "tags": [
                    "Configuration Resource v1"
                ],
                "summary": "Updates and add configuration name and value",
                "description": "",
                "operationId": "putConfiguration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "default": {
                        "description": "successful operation"
                    }
                }
            }
        },
        "/ifd/api/v1/configResource/{propertyName}": {
            "get": {
                "tags": [
                    "Configuration Resource v1"
                ],
                "summary": "Gets the value for the given configName",
                "description": "",
                "operationId": "getConfiguration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "propertyName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "default": {
                        "description": "successful operation"
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/affectedServices": {
            "get": {
                "description": "Search affected services for an alarm",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Alarm to Service Query"
                ],
                "summary": "Search affected services for an alarm",
                "operationId": "getAffectedServices",
                "parameters": [
                    {
                        "type": "string",
                        "name": "alarmId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Affected Services Query completed",
                        "schema": {
                            "$ref": "#/definitions/AffectedServicesData"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/affectedServicesByResource": {
            "get": {
                "description": "Search affected services for a resource",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Resource to Service Query"
                ],
                "summary": "Search affected services for a resource",
                "operationId": "getAffectedServicesByResource",
                "parameters": [
                    {
                        "type": "string",
                        "name": "resourceId",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Affected Services Query By Resource completed",
                        "schema": {
                            "$ref": "#/definitions/AffectedServicesData"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/affectedServicesCounts": {
            "get": {
                "description": "Get number of affected services for alarms",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Alarm to Service Query"
                ],
                "summary": "Get number of affected services for alarms",
                "operationId": "getAffectedServicesCounts",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "name": "alarmIds",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Affected Services Counts Query completed",
                        "schema": {
                            "$ref": "#/definitions/AffectedServicesCounts"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            },
            "post": {
                "description": "Get number of affected services for alarms",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Alarm to Service Query"
                ],
                "summary": "Get number of affected services for alarms",
                "operationId": "postGetAffectedServicesCounts",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AffectedServicesCountsParams"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Affected Services Counts Query completed",
                        "schema": {
                            "$ref": "#/definitions/AffectedServicesCounts"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/affectedServicesCountsByResources": {
            "get": {
                "description": "Get number of affected services for resources",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Resource to Service Query"
                ],
                "summary": "Get number of affected services for resources",
                "operationId": "getAffectedServicesCountsByResources",
                "parameters": [
                    {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "name": "resourceIds",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Affected Services Counts By Resources Query completed",
                        "schema": {
                            "$ref": "#/definitions/AffectedServicesCounts"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/correlatedAlarmsForService": {
            "get": {
                "description": "Search correlated alarms for a service",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Service to Alarm Query"
                ],
                "summary": "Search correlated alarms for a service",
                "operationId": "getCorrelatedAlarms",
                "parameters": [
                    {
                        "type": "string",
                        "name": "serviceId",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "integer",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Correlated Alarms Query completed",
                        "schema": {
                            "$ref": "#/definitions/CorrelatedAlarmsData"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/debug/bulkload/bulkActionsNumber": {
            "put": {
                "description": "Change the bulk actions number for bulkprocessor to ES",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Debug"
                ],
                "summary": "Change the bulk actions number for bulkprocessor to ES",
                "operationId": "changeBulkActionsNumber",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BulkActionsNumber"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The newly active bulk actions number",
                        "schema": {
                            "$ref": "#/definitions/BulkActionsNumber"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/debug/bulkload/bulkLoadWorkers": {
            "put": {
                "description": "Change the bulk load workers for bulkprocessor to ES",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Debug"
                ],
                "summary": "Change the bulk load workers for bulkprocessor to ES",
                "operationId": "changeBulkLoadWorkers",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BulkLoadWorkers"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The newly active bulk load workers",
                        "schema": {
                            "$ref": "#/definitions/BulkLoadWorkers"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/debug/bulkload/flushInterval": {
            "put": {
                "description": "Change the flushInterval in seconds of bulkprocessor to ES",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Debug"
                ],
                "summary": "Change the flushInterval in seconds of bulkprocessor to ES",
                "operationId": "changeFlushInterval",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FlushInterval"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The newly active flush interval",
                        "schema": {
                            "$ref": "#/definitions/FlushInterval"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/events-to-service-correlator/api/v1/debug/logs": {
            "get": {
                "description": "Retrieves the currently active log level",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Debug"
                ],
                "summary": "Retrieves the currently active log level",
                "operationId": "getLogLevel",
                "responses": {
                    "200": {
                        "description": "joy",
                        "schema": {
                            "$ref": "#/definitions/LogLevel"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            },
            "put": {
                "description": "Changes the log level",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Debug"
                ],
                "summary": "Changes the log level",
                "operationId": "changeLogLevel",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LogLevel"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The newly active log level",
                        "schema": {
                            "$ref": "#/definitions/LogLevel"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/dct/api/v1/bpi/credentials/": {
            "post": {
                "tags": [
                    "credentials"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Add credentials for an IP address.",
                "operationId": "CreateValue",
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The credentials to be added.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Credentials"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Credentials successfully added."
                    },
                    "400": {
                        "description": "Failed to validate the request."
                    },
                    "500": {
                        "description": "Internal server error while processing the request."
                    }
                }
            }
        },
        "/nsi/api/equipment": {
            "get": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Retrieves the equipment satisfying the query parameters",
                "description": "<p>LATEST VERSION: V6\n List of equipment returned in JSON format.<p>Only one of the following parameters must be specified:<ul><li>networkConstruct.id<li>equipmentExpectations.equipmentIntent.id<li>id</ul>",
                "operationId": "getEquipment",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 Equipment at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentDiscovered, equipmentPlanned, srlgs, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Creates or updates an equipment",
                "description": "<p>LATEST VERSION: V4<p>This REST API is intended to be used by equipment provisioning micro-service IFD only to create or update an equipment expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>location - management protocol used to retrieve the information and the physical location of the equipment such as its shelf, slot and subslot<li>network construct id relationship<li>a list of equipment expectation id relationship<li>the equipment expectation content - specified in the included section<ul><li>provisionedSpec - The provisioned specification (logical representation) of the equipment<li>installedSpec - The installed specification (physical representation) of the equipment<li>cardType<li>nativeName<li>category<li>validateParameters - The list of parameters (if any) to be validated against the expectation<ul><li>Valid parameters include all equipment expectation content as specified above.<li>Additionally, provisionedSpec and installedSpec can be validated against their sub-attributes. These include: <ul><li>hardwareVersion<li>serialNumber<li>manufacturer<li>type<li>partNumber<li>version<li>additionalAttributes<li>displayLabels</ul></ul></ul></ul><p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n    \"type\": \"equipment\",\n    \"attributes\": {\n    },\n    \"relationships\": {\n      \"equipmentExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"equipmentExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        ]\n      },\n      \"equipmentPlanned\": {\n        \"data\": {\n          \"type\": \"equipmentPlanned\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"equipmentExpectations\",\n      \"attributes\": {\n        \"provisionedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"installedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"cardType\": \"100GOCLD\",\n        \"validateParameters\": {\n          \"include\": \"provisionedSpec.partNumber, installedSpec.partNumber, cardType\"\n        }\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    },\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n      \"type\": \"equipmentPlanned\",\n      \"attributes\": {\n        \"provisionedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"installedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"cardType\": \"100GOCLD\"\n      },\n      \"relationships\": {\n      \"networkConstruct\": {\n        \"data\": {\n          \"type\": \"networkConstructs\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\"\n         }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postEquipment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment to create or update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created/updated the equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update the equipment",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipment/{eqpId}/expectations": {
            "post": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Create an Equipment expectation given the Equipment id",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "eqpId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "EquipmentExpectation to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing Equipment expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    },
                    "201": {
                        "description": "Equipment expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified Equipment does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipment/{equipmentId}": {
            "get": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Retrieves a specific equipment",
                "description": "<p>LATEST VERSION: V3<p>Equipment returned in JSON format",
                "operationId": "getEquipmentById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentDiscovered, equipmentPlanned, srlgs, carrierEquipment, utilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Update a specific equipment",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putEquipment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "equipment",
                        "description": "The new equipment data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Equipment with given id has been updated successfully."
                    },
                    "400": {
                        "description": "Bad request. Bad or invalid parameters were provided.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update equipment, internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Deletes a specific equipment",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteEquipmentById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted the equipment."
                    },
                    "204": {
                        "description": "The specified equipment does not exist."
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete equipment.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipment/{equipmentId}/equipmentExpectations": {
            "get": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Retrieves the expectations of the equipment.",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getEquipmentExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationListRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested equipment cannot be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the expectations for the equipment id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipment/{equipmentId}/equipmentExpectations/{equipmentExpectationId}": {
            "get": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Retrieves a specific equipment expectation",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getEquipmentExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectationId",
                        "in": "path",
                        "description": "Equipment expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment expectation.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested equipment expectation cannot be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment expectation",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Delete a specific equipment expectation.",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteEquipmentExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectationId",
                        "in": "path",
                        "description": "Equipment expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted the equipment expectation successfully."
                    },
                    "204": {
                        "description": "The equipment expectation does not exists."
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The equipment does not exists."
                    },
                    "500": {
                        "description": "Failed to delete the equipment expectation",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipment/{equipmentId}/equipmentPlanned": {
            "get": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Retrieves a specific equipment planned",
                "description": "<p>LATEST VERSION: V3<p>Equipment returned in JSON format",
                "operationId": "getEquipmentPlannedById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment planned.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentPlannedRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment planned",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment planned",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment planned.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Update a specific planned equipment",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putEquipmentPlanned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "equipment",
                        "description": "The new equipment data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentPlannedRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Equipment planned with given id has been updated successfully."
                    },
                    "400": {
                        "description": "Bad request. Bad or invalid parameters were provided.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update equipment planned, internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "PATCH a specific planned equipment",
                "description": "<p>LATEST VERSION: V3\n<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPlannedEquipment",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "The id of the Equipment to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given Equipment.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentPatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentPlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipment/{equipmentId}/expectations/{equipmentExpectationId}": {
            "patch": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "PATCH a specific equipment expectation",
                "description": "<p>LATEST VERSION: V3\n<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"srlg\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n}\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchEquipmentExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "The id of the Equipment to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectationId",
                        "in": "path",
                        "description": "The id of the equipmentExpectation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given Equipment.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentPatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipment/{equipmentId}/maintenanceMode": {
            "post": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Creates or updates MaintenanceMode for a specific equipment",
                "description": "LATEST VERSION: V3",
                "operationId": "addMaintenanceMode",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "maintenanceMode value",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The maintenanceMode for the specific equipment has been created",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipment does not exist.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "422": {
                        "description": "No request body was provided"
                    }
                }
            }
        },
        "/nsi/api/equipment/{equipmentId}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Create or update an equipment's userData",
                "description": "<p>LATEST VERSION: V2_0<p>If present, the leading and trailing whitespaces will be trimmed from the userData's key and value.<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putEquipmentUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of userData to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "userDataValue",
                        "description": "The desired userData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Equipment userData have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipment userData does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapiequipment"
                ],
                "summary": "Delete a userData from a given equipment",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "deleteEquipmentUserData",
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The specified equipment userData does not exist"
                    },
                    "204": {
                        "description": "Deleted equipment userData successfully."
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipment does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete equipment userData.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/equipment/{equipmentId}/equipmentExpectations": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0equipment"
                ],
                "summary": "Retrieves the expectations of the equipment",
                "description": "",
                "operationId": "getEquipmentExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationListRO"
                        }
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested equipment cannot be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the expectations for the equipment id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/equipment/{equipmentId}/equipmentExpectations/{equipmentExpectationId}": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0equipment"
                ],
                "summary": "Retrieves a specific equipment expectation",
                "description": "",
                "operationId": "getEquipmentExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectationId",
                        "in": "path",
                        "description": "Equipment expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment expectation.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested equipment expectation cannot be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment expectation",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/equipment/{equipmentId}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "998 - nsiapiv2_0equipment"
                ],
                "summary": "Create or update an equipment's userData",
                "description": "If present, the leading and trailing whitespaces will be trimmed from the userData's key and value.",
                "operationId": "putEquipmentUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of userData to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "userDataValue",
                        "description": "The desired userData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Equipment userData have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipment userData does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0equipment"
                ],
                "summary": "Delete a userData from a given equipment",
                "description": "",
                "operationId": "deleteEquipmentUserData",
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The specified equipment userData does not exist"
                    },
                    "204": {
                        "description": "Deleted equipment userData successfully."
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipment does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete equipment userData.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/equipment": {
            "get": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Retrieves the equipment satisfying the query parameters",
                "description": "List of equipment returned in JSON format.<p>At least one of the following parameters must be specified:<ul><li>ncId (Deprecated)<li>networkConstruct.id<li>equipmentExpectations.equipmentIntent.id<li>id<li>siteId<li>searchText</ul>",
                "operationId": "getEquipment",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Optional, Deprecated) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "(Optional) Status for equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "shelf",
                        "in": "query",
                        "description": "(Optional) Shelf for equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slot",
                        "in": "query",
                        "description": "(Optional) Slot for equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subSlot",
                        "in": "query",
                        "description": "(Optional) Subslot for equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subShelf",
                        "in": "query",
                        "description": "(Optional) Subshelf for equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site Identifier for equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.siteName). If provided, must also provide searchText parameter",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentDiscovered, equipmentPlanned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted ALL to return all Equipment at once.",
                        "required": false,
                        "type": "string",
                        "default": "ALL"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Creates or updates an equipment",
                "description": "This REST API is intended to be used by equipment provisioning micro-service IFD only to create or update an equipment expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>location - management protocol used to retrieve the information and the physical location of the equipment such as its shelf, slot and subslot<li>network construct id relationship<li>a list of equipment expectation id relationship<li>the equipment expectation content - specified in the included section<ul><li>provisionedSpec - The provisioned specification (logical representation) of the equipment<li>installedSpec - The installed specification (physical representation) of the equipment<li>cardType<li>nativeName<li>category<li>validateParameters - The list of parameters (if any) to be validated against the expectation<ul><li>Valid parameters include all equipment expectation content as specified above.<li>Additionally, provisionedSpec and installedSpec can be validated against their sub-attributes. These include: <ul><li>hardwareVersion<li>serialNumber<li>manufacturer<li>type<li>partNumber<li>version<li>additionalAttributes<li>displayLabels</ul></ul></ul></ul><p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n    \"type\": \"equipment\",\n    \"attributes\": {\n      \"cardType\": \"100GOCLD\",\n      \"locations\": [\n        {\n          \"managementType\": \"tl1\",\n          \"shelf\": \"12\",\n          \"slot\": \"11\"\n        }\n      ],\n      \"availabilityState\": \"PLANNED\",\n      \"maintenanceMode\": false\n    },\n    \"relationships\": {\n      \"networkConstruct\": {\n        \"data\": {\n          \"type\": \"networkConstructs\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\"\n        }\n      },\n      \"equipmentExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"equipmentExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"equipmentExpectations\",\n      \"attributes\": {\n        \"provisionedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"installedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"cardType\": \"100GOCLD\",\n        \"validateParameters\": {\n          \"include\": \"provisionedSpec.partNumber, installedSpec.partNumber, cardType\"\n        }\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postEquipment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment to create or update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created the equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create the equipment",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/equipment/{eqpId}/expectations": {
            "post": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Create an Equipment expectation given the Equipment id",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "eqpId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "EquipmentExpectation to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing Equipment expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    },
                    "201": {
                        "description": "Equipment expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified Equipment does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/equipment/{equipmentId}": {
            "get": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Retrieves a specific equipment",
                "description": "Equipment returned in JSON format",
                "operationId": "getEquipmentById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentPlanned, equipmentDiscovered, srlgs, carrierEquipment, utilization.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Create or Update a specific equipment with planned attributes, userData, expectations",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putEquipment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "equipment",
                        "description": "The new equipment data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Equipment with given id has been updated successfully."
                    },
                    "400": {
                        "description": "Bad request. Bad or invalid parameters were provided.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update equipment, internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Deletes a specific equipment",
                "description": "",
                "operationId": "deleteEquipmentById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted the equipment."
                    },
                    "204": {
                        "description": "The specified equipment does not exist."
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete equipment.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/equipment/{equipmentId}/equipmentExpectations/{equipmentExpectationId}": {
            "delete": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Delete a specific equipment expectation",
                "description": "",
                "operationId": "deleteEquipmentExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectationId",
                        "in": "path",
                        "description": "Equipment expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted the equipment expectation successfully."
                    },
                    "204": {
                        "description": "The equipment expectation does not exists."
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The equipment does not exists."
                    },
                    "500": {
                        "description": "Failed to delete the equipment expectation",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/equipment/{equipmentId}/equipmentPlanned": {
            "get": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Retrieves  the planned attributes of the given equipment.",
                "description": "Equipment Planned returned in JSON format",
                "operationId": "getEquipmentPlannedById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentPlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Update a specific planned equipment",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putEquipmentPlanned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "equipment",
                        "description": "The new equipment data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentPlannedRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Equipment planned with given id has been updated successfully."
                    },
                    "400": {
                        "description": "Bad request. Bad or invalid parameters were provided.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update equipment planned, internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "PATCH a specific planned equipment",
                "description": "<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPlannedEquipment",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "The id of the Equipment to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given Equipment.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentPatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentPlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/equipment/{equipmentId}/expectations/{equipmentExpectationId}": {
            "patch": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "PATCH a specific equipment expectation",
                "description": "<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"srlg\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n}\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre>\n<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchEquipmentExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "The id of the Equipment to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectationId",
                        "in": "path",
                        "description": "The id of the equipmentExpectation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given Equipment.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentPatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/EquipmentExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/equipment/{equipmentId}/maintenanceMode": {
            "post": {
                "tags": [
                    "997 - nsiapiv3equipment"
                ],
                "summary": "Creates or updates MaintenanceMode for a specific equipment",
                "description": "",
                "operationId": "addMaintenanceMode",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "Equipment identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "maintenanceMode value",
                        "required": false,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The maintenanceMode for the specific equipment has been created",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipment does not exist.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "422": {
                        "description": "No request body was provided"
                    }
                }
            }
        },
        "/nsi/api/v4/equipment": {
            "get": {
                "tags": [
                    "996 - nsiapiv4equipment"
                ],
                "summary": "Retrieves the equipment satisfying the query parameters",
                "description": "List of equipment returned in JSON format.",
                "operationId": "getEquipment",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.siteName). If provided, must also provide searchText parameter",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of resource states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "networkConstruct.name",
                        "in": "query",
                        "description": "(Optional) Network Construct name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site Identifier for equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment states. The allowed values are: IS, OOS, OOS_AU, OOS_MA, OOS_AUMA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "shelf",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment shelves",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slot",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment slots",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subSlot",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment sub-slots",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subShelf",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment sub-shelves",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "availabilityState",
                        "in": "query",
                        "description": "(Optional) List of Equipment availabilityState. The allowed values are: PLANNED, AVAILABLE, UNVALIDATED, INUSE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "reservationState",
                        "in": "query",
                        "description": "(Optional) List of Equipment reservationState. The allowed values are: Unknown, Not reserved, Reserved for maintenance, Reserved for facility, Reserved for reversion",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "maintenanceMode",
                        "in": "query",
                        "description": "(Optional) List of Equipment maintenanceMode. The allowed values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "cardType",
                        "in": "query",
                        "description": "(Optional) List of Equipment cardType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "specificationMismatch",
                        "in": "query",
                        "description": "(Optional) List of Equipment specificationMismatch. The allowed values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "description": "(Optional) List of Equipment category. The allowed values are: rack, shelf, pluggable, standalone",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "neContactState",
                        "in": "query",
                        "description": "(Optional) List of neContactState. The allowed values are: IN, OUT",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.macAddress",
                        "in": "query",
                        "description": "(Optional) Network Construct macAddress",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: specificationMismatch, state, availabilityState, reservationState, maintenanceMode, cardType, category, ncMacAddress",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, planned, discovered, networkConstructs, equipmentPlanned, equipmentDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "996 - nsiapiv4equipment"
                ],
                "summary": "Creates an equipment",
                "description": "This REST API is intended to be used by equipment provisioning micro-service IFD only to create planned equipment with an equipment expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>userData<li>equipmentPlanned id relationship <li>a list of equipment expectation id relationship<li>the equipment planned content - specified in the included section with networkConstructRelationship<ul><li>location - management protocol used to retrieve the information and the physical location of the equipment such as its shelf, slot and subslot<li>Any base equipment attributes.<li>network construct id relationship<ul><li>the equipment expectation content - specified in the included section<ul><li>provisionedSpec - The provisioned specification (logical representation) of the equipment<li>installedSpec - The installed specification (physical representation) of the equipment<li>cardType<li>nativeName<li>category<li>validateParameters - The list of parameters (if any) to be validated against the expectation<ul><li>Valid parameters include all equipment expectation content as specified above.<li>Additionally, provisionedSpec and installedSpec can be validated against their sub-attributes. These include: <ul><li>hardwareVersion<li>serialNumber<li>manufacturer<li>type<li>partNumber<li>version<li>additionalAttributes<li>displayLabels</ul></ul></ul></ul><p>The response returns equipment that is created.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n    \"type\": \"equipment\",\n    \"attributes\": {\n    },\n    \"relationships\": {\n      \"equipmentExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"equipmentExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        ]\n      },\n      \"equipmentPlanned\": {\n        \"data\": {\n          \"type\": \"equipmentPlanned\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"equipmentExpectations\",\n      \"attributes\": {\n        \"provisionedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"installedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"cardType\": \"100GOCLD\",\n        \"validateParameters\": {\n          \"include\": \"provisionedSpec.partNumber, installedSpec.partNumber, cardType\"\n        }\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    },\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n      \"type\": \"equipmentPlanned\",\n      \"attributes\": {\n        \"provisionedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"installedSpec\": {\n          \"partNumber\": \"NTK539UJ\"\n        },\n        \"cardType\": \"100GOCLD\"\n      },\n      \"relationships\": {\n      \"networkConstruct\": {\n        \"data\": {\n          \"type\": \"networkConstructs\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\"\n         }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postEquipment",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment to create or update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created the equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentRO"
                        }
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create the equipment",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v5/equipment": {
            "get": {
                "tags": [
                    "995 - nsiapiv5equipment"
                ],
                "summary": "Retrieves the equipment satisfying the query parameters",
                "description": "List of equipment returned in JSON format.<p>Only one of the following parameters must be specified:<ul><li>networkConstruct.id<li>equipmentExpectations.equipmentIntent.id<li>id</ul>",
                "operationId": "getEquipmentV5",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted ALL to return all Equipment at once.",
                        "required": false,
                        "type": "string",
                        "default": "ALL"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentDiscovered, equipmentPlanned, srlgs",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v6/equipment": {
            "get": {
                "tags": [
                    "994 - nsiapiv6equipment"
                ],
                "summary": "Retrieves the equipment satisfying the query parameters",
                "description": "List of equipment returned in JSON format.<p>Only one of the following parameters must be specified:<ul><li>networkConstruct.id<li>equipmentExpectations.equipmentIntent.id<li>id</ul>",
                "operationId": "getEquipmentV6",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 Equipments at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentDiscovered, equipmentPlanned, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/AutoSlatData/{projectId}": {
            "get": {
                "tags": [
                    "AutoSlatData"
                ],
                "summary": "Generate the Auto-SLAT data using project id",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectId",
                        "description": "",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/AutoSlat.Network"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/AutoSlatData/name/{projectName}": {
            "get": {
                "tags": [
                    "AutoSlatData"
                ],
                "summary": "Generate the Auto-SLAT data using project name",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectName",
                        "description": "The project name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/AutoSlat.Network"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/EquipmentKitNameMappings": {
            "get": {
                "tags": [
                    "EqptKitNameMappings"
                ],
                "summary": "Gets all equipment kit name mappings",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.KitToOinMapping"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "EqptKitNameMappings"
                ],
                "summary": "Creates a new equipment kit name mapping",
                "description": "- kitName:\r\n   - unique record identifier, meaning no duplicate records with the same kit name are allowed\r\n   - can't be null\r\n   - can't be series of white spaces\r\n    - valid string length is between 1 and 100 characters(inclusive)\r\n- oin: \r\n    - can't be null\r\n    - can't be series of white spaces\r\n    - valid string length is between 1 and 100 characters(inclusive)\r\n- comments:\r\n    - valid string length is between 0 and 600 characters(inclusive)\r\n- enabled:\r\n    - by default (if not specified) set to false",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The equipment kit name mapping.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.KitToOinMappingItem"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.KitToOinMappingItem"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.ErrorList"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/EquipmentKitNameMappings/{kitName}": {
            "get": {
                "tags": [
                    "EqptKitNameMappings"
                ],
                "summary": "Get the equipment kit name mapping for a given kitName",
                "operationId": "GetEqptKitNameMappingByKitName",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "kitName",
                        "description": "The equipment kit name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.KitToOinMappingItem"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "EqptKitNameMappings"
                ],
                "summary": "Updates or creates kit name mapping",
                "description": "Updates kit name mapping if mapping with supplied kitName exists or creates new mapping otherwise.\r\n- oin: \r\n    - can't be null\r\n    - can't be series of white spaces\r\n    - valid string length is between 1 and 100 characters (inclusive) \r\n- comments:\r\n    - valid string length is between 0 and 600 characters (inclusive)\r\n- enabled:\r\n    - by default (if not specified) set to false",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "kitName",
                        "description": "The equipment kit name.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The equipment kit name mapping.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.KitToOinMappingItem"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.KitToOinMappingItem"
                        }
                    },
                    "201": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.KitToOinMappingItem"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.ErrorList"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "EqptKitNameMappings"
                ],
                "summary": "Deletes equipment kit name mapping for a given kitName",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "kitName",
                        "description": "The equipment kit name.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.ErrorList"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Equipment": {
            "post": {
                "tags": [
                    "Equipment"
                ],
                "summary": "Adds equipment to a node.",
                "description": "Adds equipment to an existing node. The node may be in the planned state but must have been committed prior to adding equipment.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The add equipment request.",
                        "schema": {
                            "$ref": "#/definitions/Equipment.AddEquipmentRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Equipment.EquipmentResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v3/EquipmentSummary": {
            "get": {
                "tags": [
                    "EquipmentSummary"
                ],
                "summary": "Generate equipment summary for projects, project lists, or physical locations.",
                "description": "One of the following combinations is allowed per request:\r\n1. physicalLocations:\r\nSummary for equipment at committed/deployed locations.\r\n2. physicalLocations and projects:\r\nSummary for equipment at committed/deployed locations that are part of any of the projects provided.\r\n3. physicalLocations and projectLists\r\nSummary for equipment at committed/deployed locations and equipment at those locations that are part of the project list (project list name)\r\nprovided\r\n4. physicalLocations and projectListIds\r\nSummary for equipment at committed/deployed locations and equipment at those locations that are part of the project list (project list id)\r\nprovided\r\n5. physicalLocations and projects and projectLists\r\nSummary for equipment at committed/deployed locations and equipment at those locations that are part of the project list (project list name)\r\nprovided and are part of any of the projects (project names) provided\r\n6. physicalLocations and projects and projectListIds\r\nSummary for equipment at committed/deployed locations and equipment at those locations that are part of the project list (project list id)\r\nprovided and are part of any of the projects (project names) provided\r\n7. projects:\r\nSummary for equipment that are part of any of the projects (project names) provided.\r\n8. projectIds:\r\nSummary for equipment that are part of any of the projects (project ids) provided.\r\n9. projectListIds:\r\nSummary for planned equipment that are part of project lists (project list ids) provided. If organizeByProject is set to true, display \r\nequipment for each project in a project list.\r\n10. projectLists:\r\nSummary for planned equipment that are part of project lists (project list names) provided. If organizeByProject is set to true, display\r\nequipment for each project in a project list.\r\n\r\nReturn codes for the different query scenarios:\r\n1. Return BadRequest (400) if the service cannot parse the query parameters or the combinations of those parameters.\r\n2. Return BadRequest (400) if the service cannot successfully parse the strings, \"physicalLocations\", \"projects\", \"projectIds\", \"projectListIds\", and \"projectLists\".\r\n3. Return BadRequest (400) if the service fails to retrieve project data using the project name which is specified in \"projects\".\r\n4. Return BadRequest (400) if the service fails to retrieve project data using the project id which is specified in \"projectIds\".\r\n5. Return BadRequest (400) if the service fails to retrieve project data using the project list id which is specified in \"projectListIds\".\r\n6. Return BadRequest (400) if the service fails to retrieve project data using the project list name which is specified in \"projectListIds\".\r\n7. Return NoContent (204) if there are no equipment being returned from any of physical locations and projects that are specified.\r\n8. Return NoContent (204) if there are no equipment being returned for any of the projectLists that are specified.\r\n9. Return Ok (200) if the service successfully retrieves equipment using the input query parameters.\r\n10.Return Internal Server Error (500) if the service encounters an unexpected error.",
                "operationId": "ComplexQueryParameters",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "physicalLocations",
                        "description": "List of comma-separated (deployed or committed) physical locations",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projects",
                        "description": "List of comma-separated (deployed or committed) project names",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectIds",
                        "description": "List of comma-separated project identifiers",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectListIds",
                        "description": "List of comma-separated project list identifiers",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectLists",
                        "description": "List of comma-separated project list names",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "organizeByProject",
                        "description": "Organize by project, defaults to true.",
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.EquipmentSummaryResponseOrganizedByProject"
                        }
                    },
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v2/EquipmentSummary": {
            "get": {
                "tags": [
                    "EquipmentSummaryV2"
                ],
                "summary": "Generate equipment summary for projects, project lists, or physical locations.",
                "description": "One of the following combinations is allowed per request:\r\n1. physicalLocations:\r\nSummary for equipment at committed/deployed locations.\r\n2. physicalLocations and projects:\r\nSummary for equipment at committed/deployed locations that are part of any of the projects provided.\r\n3. projectId and/or projectName:\r\nSummary for planned equipment for the project provided.\r\n4. projectListId and/or projectListName:\r\nSummary for planned equipment for the project list provided. If organizeByProject is set to true then group\r\nequipment by projects in the list. Otherwise combine the equipment of all the projects together.",
                "operationId": "GetByQueryParams",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "physicalLocations",
                        "description": "List of comma-separated (deployed or committed) physical locations",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projects",
                        "description": "List of comma-separated project names",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectId",
                        "description": "The project ID",
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "query",
                        "name": "projectName",
                        "description": "The project name",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectListId",
                        "description": "The project list ID",
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "query",
                        "name": "projectListName",
                        "description": "The project list name",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "organizeByProject",
                        "description": "Organize by project, defaults to true.",
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/EquipmentSummary.EquipmentSummaryResponseOrganizedByProject"
                        }
                    },
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/FiberRoutes": {
            "post": {
                "tags": [
                    "FiberRoutes"
                ],
                "summary": "Create a new fiber route.",
                "description": "New fiber routes can be created between existing or new ROADM nodes. The request may contain any number of nodes with the restriction that the route\r\nmust begin and end with a ROADM.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The fiber route request.",
                        "schema": {
                            "$ref": "#/definitions/FiberRoute.AddFiberRouteRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "FiberRoutes"
                ],
                "summary": "Roll fiber Route. The method detects the affected fiber route and returns the delta between the affected route and the new route.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/FiberRoute.AddFiberRouteRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/FiberRoute.FiberRouteDelta"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData": {
            "get": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Get all config data",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/GlobalConfigurationData.ConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Updates the value for config data item.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The update request of configuration item.",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/{itemKey}": {
            "get": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Get a config item corresponding to a given key",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "itemKey",
                        "description": "The config item key",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/HeatDissipationLimitThreshold1/{heatDissipationLimitThreshold1Value}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update config value corresponding to heat dissipation limit per bay threshold 1.",
                "description": "NOTE: This operation should not be used, please use planning policies to set the global heat dissipation threshold",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "heatDissipationLimitThreshold1Value",
                        "description": "Heat dissipation limit threshold 1 value to be updated.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/HeatDissipationLimitThreshold2/{heatDissipationLimitThreshold2Value}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update config value corresponding to heat dissipation limit per bay threshold 2.",
                "description": "NOTE: This operation should not be used, please use planning policies to set the global heat dissipation threshold",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "heatDissipationLimitThreshold2Value",
                        "description": "Heat dissipation limit threshold 2 value to be updated.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/SingleILASiteLabel/{singleILASiteLabelValue}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update the single ILA site label",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "singleILASiteLabelValue",
                        "description": "",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/DualILASiteLabel/{dualILASiteLabelValue}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update the dual ILA site label",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "dualILASiteLabelValue",
                        "description": "",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/DgeWithSingleILASiteLabel/{DgeWithSingleILASiteLabelValue}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update the DGE with single ILA site label",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "dgeWithSingleILASiteLabelValue",
                        "description": "",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/DgeWithAtoZDualILAZtoASingleILASiteLabel/{DgeWithAtoZDualILAZtoASingleILASiteLabelValue}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update the DGE with dual ILA in A-Z and single ILA in Z-A site label",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "dgeWithAtoZDualILAZtoASingleILASiteLabelValue",
                        "description": "",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/DgeWithAtoZSingleILAZtoADualILASiteLabel/{DgeWithAtoZSingleILAZtoADualILASiteLabelValue}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update the DGE with single ILA in A-Z and dualILA in Z-A site label",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "dgeWithAtoZSingleILAZtoADualILASiteLabelValue",
                        "description": "",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/DgeWithDualILASiteLabel/{DgeWithDualILASiteLabelValue}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update the DGE with dual ILA site label",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "dgeWithDualILASiteLabelValue",
                        "description": "",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/GlobalConfigurationData/DefaultProfilePreferencesValue/{defaultProfilePreferencesValue}": {
            "put": {
                "tags": [
                    "GlobalConfigurationData"
                ],
                "summary": "Update config value corresponding to default preferences profile.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "defaultProfilePreferencesValue",
                        "description": "New profile to be used {ROD, Generic}.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Model.GlobalConfigurationData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Logging.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/HeatDissipationReport": {
            "get": {
                "tags": [
                    "HeatDissipationReport"
                ],
                "summary": "Get Heat Dissipation Report",
                "description": "Get Heat Dissipation Report API with support for different filters i.e.\r\nphysicalLocations, tidNames, nodeIdentities, racks\r\n<para />Note: Use '|' as separator between mulitple values for any query parameter.\r\n<para />Following are some valid example query formats:\r\n<para /> 1. HeatDissipationReport?tidnames=tid1|tid2|tid3\r\n<para /> 2. HeatDissipationReport?tidnames=tid1&amp;racks=1|2\r\n<para /> 3. HeatDissipationReport?nodeidentities=clli1::1|clli2::2\r\n<para /> 4. HeatDissipationReport?nodeidentities=clli1::1&amp;racks=1|2\r\n<para /> 5. HeatDissipationReport?physicalLocations=site1|site2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "physicalLocations",
                        "description": "Accepts one or more valid physicalLocations separated by '|'.",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "tidNames",
                        "description": "Accepts one or more valid tidNames separated by '|'.",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "nodeIdentities",
                        "description": "Accepts one or more valid nodeIdentities separated by '|' and \r\n            each nodeIdentity with Clli and NodeId separated with \"::\" e.g. \"clli1::1\".",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "racks",
                        "description": "Accepts one or more valid racks separated with '|'.",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/HeatDissipationReport.HeatDissipationReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v2/PlannedData/fiberLoss": {
            "patch": {
                "tags": [
                    "PlannedDataV2"
                ],
                "summary": "Partially updates a list of fibers",
                "description": "This request may be used in two ways:\r\n            \r\n1) Specifying only freId. The following properties are supported:\r\n- Loss: Total planned loss of the fiber span\r\n- Margin: Total planned margin of the fiber span\r\n- FiberLossReconciled: Indicates whether the planned fiber loss has been reconciled with measured fiber loss\r\n            \r\n2) Specifying freId and fiberId. The following properties are supported:\r\n- Loss: Planned fiber loss of the fiber\r\n- Margin: Planned margin of the fiber\r\n- HeadPPL: Planned head-end patch-panel loss of the fiber\r\n- TailPPL: Planned tail-end patch-panel loss of the fiber\r\n- FiberLossReconciled: Indicates whether the planned fiber loss has been reconciled with measured fiber loss",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "fiberLoss",
                        "schema": {
                            "$ref": "#/definitions/PlannedData.FiberList"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlannedData.FiberList"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.ErrorList"
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "PlannedDataV2"
                ],
                "summary": "Get fiber loss data for one or more freIds",
                "description": "The request may contain any number of freIds for which loss values are to be fetched.\r\n            \r\nThe properties returned by this request for each freId are:\r\n- Loss: Total planned loss of the fiber span\r\n- Head-end patch-panel loss: Planned loss of the patch panel at the head of the fiber\r\n- Tail-end patch-panel loss: Planned loss of the patch panel at the tail of the fiber\r\n- Margin: Total planned margin of the fiber span\r\n- FiberLossReconciled: Indicates whether the planned fiber loss of the span has been reconciled with measured fiber loss",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "freIds",
                        "description": "Comma separated FreIDs for fibers.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlannedData.FiberList"
                        }
                    },
                    "204": {
                        "description": "Success"
                    }
                },
                "deprecated": true
            }
        },
        "/equipmenttopologyplanning/api/v2/PlannedData/snrData": {
            "get": {
                "tags": [
                    "PlannedDataV2"
                ],
                "summary": "Get planned Oms Snr data for one or more Oms FreIds.",
                "description": "The request may contain any number of FreIds separated by commas for which Oms Snr data is to be fetched.\r\nIf no freIds are given in the request, then all the planned oms snr data is returned from the database.\r\n            \r\nReturn codes for the different query scenarios:\r\n1. Return Ok (200) if the input string is null or whitespace. The returned OmsList may be empty if no data is present in the database, but will never be null.\r\n2. Return Ok (200) if the input string contains any characters other than commas or whitespace. The returned OmsList may be empty if no data is found for any FreIds, but will never be null.\r\n3. Return BadRequest (400) if the input string is a combination of only commas and whitespace.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "freIds",
                        "description": "(Optional) List of comma-separated freIds",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlannedData.OmsList"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v2/PlannedData/snrData/file": {
            "get": {
                "tags": [
                    "PlannedDataV2"
                ],
                "summary": "Gets the planned Oms Snr data from the database as a compressed file, either zip or gzip format",
                "description": "The request may contain any number of FreIds separated by commas for which Oms Snr data is to be fetched.\r\nIf no freIds are given in the request, then all the planned oms snr data is returned from the database.\r\n            \r\nReturn codes for the different query scenarios:\r\n1. Return Ok (200) if the input string is null or whitespace. The returned OmsList may be empty if no data is present in the database, but will never be null.\r\n2. Return Ok (200) if the input string contains any characters other than commas or whitespace. The returned OmsList may be empty if no data is found for any FreIds, but will never be null.\r\n3. Return BadRequest (400) if the input string is a combination of only commas and whitespace.",
                "parameters": [
                    {
                        "in": "query",
                        "name": "freIds",
                        "description": "(Optional) List of comma-separated freIds",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "fileType",
                        "description": "File type, allowed values are gzip or zip. If not set then this will return zip file",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v2/PlannedData/InsertPlannedOmsSnrData": {
            "post": {
                "tags": [
                    "PlannedDataV2"
                ],
                "summary": "Inserts the planned oms snr info received from oneplanner into the database",
                "description": "All existing Oms Snr records in the database are removed prior to inserting the provided set.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/PlannedData.OmsList"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v2/PlannedData/InsertPlannedOmsSnrDataFromFile": {
            "post": {
                "tags": [
                    "PlannedDataV2"
                ],
                "summary": "Insert planned Oms Snr data from a gzip (.gz), zip (.zip), JSON (.json) or OnePlanner (.onep) file.",
                "description": "All existing Oms Snr records in the database are removed prior to inserting the provided set.\r\n\r\n\r\nNOTE: This API uploads data from a file and does not display or work correctly in MCP REST API Documentation.\r\nPlease use an API testing tool that supports form-data file upload to use this API.",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "ContentType",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "ContentDisposition",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "Headers",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "Length",
                        "type": "integer",
                        "format": "int64"
                    },
                    {
                        "in": "formData",
                        "name": "Name",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "FileName",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v3/PlannedData/DeletePlannedFiberData": {
            "delete": {
                "tags": [
                    "PlannedDataV3"
                ],
                "summary": "Delete all planned fiber data that does not belong to a planning project",
                "description": "This request is used to delete all planned fiber data that does not belong to a planning project.",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v3/PlannedData/fiberLoss": {
            "get": {
                "tags": [
                    "PlannedDataV3"
                ],
                "summary": "Get fiber loss data for one or more FreIds",
                "description": "The request may contain any number of FreIds separated by commas for which loss values are to be fetched.\r\n            \r\nThe properties returned by this request for each FreId are:\r\n- Loss: Total planned loss of the fiber span\r\n- Head-end patch-panel loss: Planned loss of the patch panel at the head of the fiber\r\n- Tail-end patch-panel loss: Planned loss of the patch panel at the tail of the fiber\r\n- Margin: Total planned margin of the fiber span\r\n- FiberLossReconciled: Indicates whether the planned fiber loss of the span has been reconciled with measured fiber loss\r\n\r\nReturn codes for the different query scenarios:\r\n1. Return BadRequest (400) if the input string is null, whitespace, or any combination of only commas and whitespace.\r\n2. Return Ok (200) if the input string contains any characters other than commas or whitespace. The returned FiberList may be empty if no data is found for any FreIds, but will never be null.",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "freIds",
                        "description": "Comma separated FreIDs for fibers.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlannedData.FiberList"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v3/PlannedData/InsertPlannedOmsSnrData": {
            "post": {
                "tags": [
                    "PlannedDataV3"
                ],
                "summary": "Inserts the planned oms snr info received from oneplanner into the database",
                "description": "Oms Snr records in the database that overlap any portion of the provided set are removed prior to inserting the provided set.\r\nOms Snr records that do not overlap any portion of the provided set are left in the database.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/PlannedData.OmsList"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v3/PlannedData/InsertPlannedOmsSnrDataFromFile": {
            "post": {
                "tags": [
                    "PlannedDataV3"
                ],
                "summary": "Insert planned Oms Snr data from a gzip (.gz), zip (.zip), JSON (.json) or OnePlanner (.onep) file.",
                "description": "Oms Snr records in the database that overlap any portion of the provided set are removed prior to inserting the provided set.\r\nOms Snr records that do not overlap any portion of the provided set are left in the database.\r\n\r\n\r\nNOTE: This API uploads data from a file and does not display or work correctly in MCP REST API Documentation.\r\nPlease use an API testing tool that supports form-data file upload to use this API.",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "ContentType",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "ContentDisposition",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "Headers",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "Length",
                        "type": "integer",
                        "format": "int64"
                    },
                    {
                        "in": "formData",
                        "name": "Name",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "FileName",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v3/PlannedData/DeletePlannedOmsSnrData/{projectId}": {
            "delete": {
                "tags": [
                    "PlannedDataV3"
                ],
                "summary": "This API deletes Snr data for any Oms that has not yet been deployed using Project ID.",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectId",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/PlanningPolicies": {
            "get": {
                "tags": [
                    "PlanningPolicy"
                ],
                "summary": "Gets planning policies",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "description": "The planning policy name",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningPolicy.PlanningPolicy"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "PlanningPolicy"
                ],
                "summary": "Create a new planning policy",
                "description": "- Planning policy id :\r\n    - this planningPolicy parameter will be assigned internally and will be returned in the response body upon sucessful operation\r\n    - specifying planningPolicy id in the reqest body will result in bad request response\r\n- Planning policy name : \r\n    - valid name is any combinations of characters except empty string or series of white spaces\r\n    - duplicate names are not allowed\r\n- Planning policy userActivityInfo : \r\n    - this property values are internally assigned and will be returned in the response body upon sucessful operation\r\n    - specifying userActivityInfo in the request body will result in bad request response\r\n- ServiceProvisioningPolicy :\r\n    - cardPec property is validated as follows:\r\n        - cardPec cannot be left blank\r\n        - cardPec has to match one of the supported card pecs for the current release\r\n        - same cardPec cannot be used in two different CardPolicies\r\n    - certifiedMatePecs property is validated as follows:\r\n        - mate pec strings are validated against supported card pecs for the current release\r\n        - mate pecs and cardPec are validated if they are actually compatible (can be mated) in the current release\r\n        - certifiedMatePecs section should be left blank for OTR or MOTR cards. Cards that host client and line ports on the same card should leave this section blank since same card is used as mate\r\n    - certifiedClientPluggables property is validated as follows:\r\n        - client pluggables pec and rate combinations are validated if they are actually supported by cardPec in current release\r\n        - client pluggables pec and rate combinations have to be unique, meaning duplicate definitions are not allowed  \r\n        - client pluggable pec cannot be left blank\r\n        - certifiedClientPluggables section should be left blank for cards that do not have any supported client pluggable (like line cards or client cards with built in client port)\r\n        - certifiedClientPluggables cannot be left blank if card supports at least one client pluggable",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The planning policy.",
                        "schema": {
                            "$ref": "#/definitions/PlanningPolicy.PlanningPolicy"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningPolicy.PlanningPolicy"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.ErrorList"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/PlanningPolicies/{id}": {
            "get": {
                "tags": [
                    "PlanningPolicy"
                ],
                "summary": "Get a planning policy by Id",
                "operationId": "GetPolicyByGuid",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning policy Id",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningPolicy.PlanningPolicy"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "PlanningPolicy"
                ],
                "summary": "Updates the specified planning policy",
                "description": "- Planning policy id :\r\n    - if planningPolicy parameter contains id it shall match id parameter, otherwise bad request response is returned. It is ok to ommit id value in the planningPolicy body\r\n- Planning policy name :\r\n    -  planningPolicy name parameter shall be unique. If duplicate request will result in bad request response\r\n    -  planningPolicy name parameter can't be empty string or series of white spaces and request with such values will result in bad request response\r\n- Planning policy userActivityInfo : \r\n    - this property values are internally assigned and will be returned in the response body upon sucessful operation\r\n    - specifying userActivityInfo in the request body will result in bad request response\r\n- ServiceProvisioningPolicy :\r\n    - cardPec property is validated as follows:\r\n        - cardPec cannot be left blank\r\n        - cardPec has to match one of the supported card pecs for the current release\r\n        - same cardPec cannot be used in two different CardPolicies\r\n    - certifiedMatePecs property is validated as follows:\r\n        - mate pec strings are validated against supported card pecs for the current release\r\n        - mate pecs and cardPec are validated if they are actually compatible (can be mated) in the current release\r\n        - certifiedMatePecs section should be left blank for OTR or MOTR cards. Cards that host client and line ports on the same card should leave this section blank since same card is used as mate\r\n    - certifiedClientPluggables property is validated as follows:\r\n        - client pluggables pec and rate combinations are validated if they are actually supported by cardPec in current release\r\n        - client pluggables pec and rate combinations have to be unique, meaning duplicate definitions are not allowed  \r\n        - client pluggable pec cannot be left blank\r\n        - certifiedClientPluggables section should be left blank for cards that do not have any supported client pluggable (like line cards or client cards with built in client port)\r\n        - certifiedClientPluggables cannot be left blank if card supports at least one client pluggable",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning policy ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The planning policy.",
                        "schema": {
                            "$ref": "#/definitions/PlanningPolicy.PlanningPolicy"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningPolicy.PlanningPolicy"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.ErrorList"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "PlanningPolicy"
                ],
                "summary": "Deletes a planning policy",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning policy Id.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/PostUpgrade/UpgradeProjects": {
            "post": {
                "tags": [
                    "PostUpgrade"
                ],
                "summary": "Updates the projects according to new Onep Object model.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "List of projects which should be upgraded.",
                        "schema": {
                            "type": "array",
                            "items": {
                                "format": "uuid",
                                "type": "string"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/ProjectEquipmentDetails/equipmentcount": {
            "get": {
                "tags": [
                    "ProjectEquipmentDetails"
                ],
                "summary": "get total equipment count for a project intent",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "intentId",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectName",
                        "description": "",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/ProjectEquipmentDetails/equipmentdetailsdata": {
            "delete": {
                "tags": [
                    "ProjectEquipmentDetails"
                ],
                "summary": "Deletes equipment details data for a project intent",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "intentId",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectName",
                        "description": "",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/oms/{projectId}": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Generate the OMS report for the project network",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectId",
                        "description": "The planning project id",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Reports.OmsReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/equipment/{projectId}": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Generate the equipment report for the project network",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectId",
                        "description": "The planning project id",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Reports.EquipmentReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/networkReportData": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Generate the Network Data",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "formFile",
                        "type": "string",
                        "format": "binary"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Automation.NetworkReportData"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/equipment/{projectId}/delta": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Generate the equipment delta report for the project network",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectId",
                        "description": "The planning project id",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Reports.EquipmentDeltaReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/nodeandequipmentdata/{projectId}": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Generate the node and equipment data report for the project network",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectId",
                        "description": "The planning project id",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Reports.ProjectNodeAndEquipmentDataReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/importvalidation/{projectId}": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Get the import validation report for a project\r\n\r\n<para />Returns a cached version of the report if it exists.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectId",
                        "description": "The planning project ID",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Reports.RuleExecutionReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/importvalidation": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Get the import validation report for a project\r\n\r\n<para />Returns a cached version of the report if it exists.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "projectName",
                        "description": "The planning project name",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Reports.RuleExecutionReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/importvalidation/{projectId}/execute": {
            "post": {
                "tags": [
                    "Reports"
                ],
                "summary": "Executes import validation on the project",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectId",
                        "description": "The planning project ID",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Reports.RuleExecutionReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/equipmenttopologyplanning/api/v1/Reports/importvalidation/execute": {
            "post": {
                "tags": [
                    "Reports"
                ],
                "summary": "Executes import validation on the project",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "projectName",
                        "description": "The planning project name",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/Reports.RuleExecutionReport"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Common.Error"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipmentGroups": {
            "get": {
                "tags": [
                    "000 - nsiapiequipmentGroups"
                ],
                "summary": "Retrieves equipment groups satisfying the provided parameters",
                "description": "<p>LATEST VERSION: V3<p>At least one of the following parameters must be specified:<ul><li>ncId (Deprecated)<li>networkConstruct.id<li>equipmentGroupExpectations.equipmentIntent.id<li>equipment.id<li>type</ul>",
                "operationId": "getEquipmentGroup",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Optional, Deprecated) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "(Optional) Equipment group type.",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "ROADM",
                            "COADM",
                            "DIAOADM",
                            "SLOTSEQUENCE",
                            "OTS",
                            "OTNBBPAIRING"
                        ]
                    },
                    {
                        "name": "equipment.id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: actualizations, expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 Equipment Groups at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved EquipmentGroups successfully.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment groups with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapiequipmentGroups"
                ],
                "summary": "Creates or updates an equipment group",
                "description": "<p>LATEST VERSION: V2_0<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQG_SLOTSEQ_12_11_1\",\n      \"type\": \"equipmentGroup\",\n      \"attributes\": {\n        \"type\": \"SLOTSEQUENCE\"\n      },\n      \"relationships\": {\n        \"networkConstruct\": {\n          \"data\": {\n            \"type\": \"networkConstructs\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\"\n          }\n        }\n      }\n    }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postEquipmentGroup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment group to create or update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Equipment group created or updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupRO"
                        }
                    },
                    "400": {
                        "description": "Invalid data to create or update equipment group.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update EquipmentGroup.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipmentGroups/{equipmentGroupId}": {
            "get": {
                "tags": [
                    "000 - nsiapiequipmentGroups"
                ],
                "summary": "Retrieves a specific equipment group",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getEquipmentGroupById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: actualizations, expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment group with given Id",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment group with given Id.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapiequipmentGroups"
                ],
                "summary": "Delete a specific equipment group",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "deleteEquipmentGroupById",
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group to be deleted",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted EquipmentGroup successfully."
                    },
                    "403": {
                        "description": "Forbidden to delete specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete EquipmentGroup.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipmentGroups/{equipmentGroupId}/equipmentGroupExpectations": {
            "get": {
                "tags": [
                    "000 - nsiapiequipmentGroups"
                ],
                "summary": "Retrieves the expectations of an equipment group",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getEquipmentGroupExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group whose expectations are to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupExpectationListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid request for equipment group.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to update specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested equipment group can't be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the expectations for the equipment group id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapiequipmentGroups"
                ],
                "summary": "Create or update an equipment group expectation under a given equipment group",
                "description": "<p>LATEST VERSION: V2_0<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\":     {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQG_SLOTSEQ_12_11_1_Expectation1\",\n      \"type\": \"equipmentGroupExpectations\",\n      \"attributes\": {\n        \"name\": \"Expectation1\",  \n        \"additionalAttributes\": {\n          \"add\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n          \"drop\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n          \"label\": \"Main-Expected\",\n          \"aid\": \"SLOTSEQ-12-11-1\"\n        }\n      },\n      \"relationships\": {\n        \"equipment\": {\n          \"data\": [\n            {\n              \"type\": \"equipment\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\"\n            }\n          ]\n        },\n        \"parent\": {\n          \"data\": {\n            \"type\": \"equipmentGroup\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQG_OTS_12_11\"\n          }\n        },\n        \"equipmentIntent\": {\n          \"data\": {\n              \"type\": \"equipmentIntents\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8:EquipmentIntent1\"\n          }\n        }\n      }\n    }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postEquipmentGroupExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The equipment group expectation to be created or updated",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Equipment group expectation created or updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid data to create or update equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to update specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipmentGroups/{equipmentGroupId}/equipmentGroupExpectations/{equipmentGroupExpectationId}": {
            "get": {
                "tags": [
                    "000 - nsiapiequipmentGroups"
                ],
                "summary": "Retrieves a specific equipment group expectation",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getEquipmentExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group under which to retrieve an expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectationId",
                        "in": "path",
                        "description": "Id of the expectation to retrieve",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid request for equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to update specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested equipment group expectation can't be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment group expectation",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapiequipmentGroups"
                ],
                "summary": "Delete a specific equipment group expectation",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "deleteEquipmentGroupExpectationById",
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group under which to delete an expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectationId",
                        "in": "path",
                        "description": "Id of the expectation to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted equipment group expectation successfully."
                    },
                    "403": {
                        "description": "Forbidden to update specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/equipmentGroups": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0equipmentGroups"
                ],
                "summary": "Retrieves equipment groups satisfying the provided parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>ncId (Deprecated)<li>networkConstruct.id<li>equipmentGroupExpectations.equipmentIntent.id<li>equipment.id<li>type</ul>",
                "operationId": "getEquipmentGroup",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Optional, Deprecated) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "(Optional) Equipment group type.",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "ROADM",
                            "COADM",
                            "DIAOADM",
                            "SLOTSEQUENCE",
                            "OTS",
                            "OTNBBPAIRING"
                        ]
                    },
                    {
                        "name": "equipment.id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: actualizations, expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted ALL to return all Equipment at once.",
                        "required": false,
                        "type": "string",
                        "default": "ALL"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query param was specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment groups with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "998 - nsiapiv2_0equipmentGroups"
                ],
                "summary": "Creates or updates an equipment group",
                "description": "The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQG_SLOTSEQ_12_11_1\",\n      \"type\": \"equipmentGroup\",\n      \"attributes\": {\n        \"type\": \"SLOTSEQUENCE\"\n      },\n      \"relationships\": {\n        \"networkConstruct\": {\n          \"data\": {\n            \"type\": \"networkConstructs\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\"\n          }\n        }\n      }\n    }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postEquipmentGroup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment group to create or update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Equipment group created or updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupRO"
                        }
                    },
                    "400": {
                        "description": "Invalid data to create or update equipment group.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update EquipmentGroupResource.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/equipmentGroups/{equipmentGroupId}": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0equipmentGroups"
                ],
                "summary": "Retrieves a specific equipment group",
                "description": "",
                "operationId": "getEquipmentGroupById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: actualizations, expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query param was specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment group with given Id",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment group with given Id.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0equipmentGroups"
                ],
                "summary": "Delete a specific equipment group",
                "description": "",
                "operationId": "deleteEquipmentGroupById",
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group to be deleted",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted EquipmentGroupResource successfully."
                    },
                    "403": {
                        "description": "Forbidden to delete specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete EquipmentGroupResource.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/equipmentGroups/{equipmentGroupId}/equipmentGroupExpectations": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0equipmentGroups"
                ],
                "summary": "Retrieves the expectations of an equipment group",
                "description": "",
                "operationId": "getEquipmentGroupExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group whose expectations are to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupExpectationListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid request for equipment group.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to update specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested equipment group can't be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the expectations for the equipment group id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "998 - nsiapiv2_0equipmentGroups"
                ],
                "summary": "Create or update an equipment group expectation under a given equipment group",
                "description": "The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\":     {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQG_SLOTSEQ_12_11_1_Expectation1\",\n      \"type\": \"equipmentGroupExpectations\",\n      \"attributes\": {\n        \"name\": \"Expectation1\",  \n        \"additionalAttributes\": {\n          \"add\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n          \"drop\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\",\n          \"label\": \"Main-Expected\",\n          \"aid\": \"SLOTSEQ-12-11-1\"\n        }\n      },\n      \"relationships\": {\n        \"equipment\": {\n          \"data\": [\n            {\n              \"type\": \"equipment\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\"\n            }\n          ]\n        },\n        \"parent\": {\n          \"data\": {\n            \"type\": \"equipmentGroup\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQG_OTS_12_11\"\n          }\n        },\n        \"equipmentIntent\": {\n          \"data\": {\n              \"type\": \"equipmentIntents\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8:EquipmentIntent1\"\n          }\n        }\n      }\n    }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postEquipmentGroupExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The equipment group expectation to be created or updated",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Equipment group expectation created or updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid data to create or update equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to update specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/equipmentGroups/{equipmentGroupId}/equipmentGroupExpectations/{equipmentGroupExpectationId}": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0equipmentGroups"
                ],
                "summary": "Retrieves a specific equipment group expectation",
                "description": "",
                "operationId": "getEquipmentExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group under which to retrieve an expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectationId",
                        "in": "path",
                        "description": "Id of the expectation to retrieve",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid request for equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to update specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested equipment group expectation can't be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment group expectation",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0equipmentGroups"
                ],
                "summary": "Delete a specific equipment group expectation",
                "description": "",
                "operationId": "deleteEquipmentGroupExpectationById",
                "parameters": [
                    {
                        "name": "equipmentGroupId",
                        "in": "path",
                        "description": "Id of the equipment group under which to delete an expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectationId",
                        "in": "path",
                        "description": "Id of the expectation to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted equipment group expectation successfully."
                    },
                    "403": {
                        "description": "Forbidden to update specified equipment group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete equipment group expectation.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/equipmentGroups": {
            "get": {
                "tags": [
                    "997 - nsiapiv3equipmentGroups"
                ],
                "summary": "Retrieves equipment groups satisfying the provided parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>ncId (Deprecated)<li>networkConstruct.id<li>equipmentGroupExpectations.equipmentIntent.id<li>equipment.id<li>type</ul>",
                "operationId": "getEquipmentGroup",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Optional, Deprecated) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "(Optional) Equipment group type.",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "ROADM",
                            "COADM",
                            "DIAOADM",
                            "SLOTSEQUENCE",
                            "OTS",
                            "OTNBBPAIRING"
                        ]
                    },
                    {
                        "name": "equipment.id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: actualizations, expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 Equipment Groups at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved EquipmentGroups successfully.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query param was specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment groups with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipmentHolders": {
            "get": {
                "tags": [
                    "000 - nsiapiequipmentHolders"
                ],
                "summary": "Retrieves equipment holders satisfying the provided parameters",
                "description": "<p>LATEST VERSION: V3<p>At least one of the following parameters must be specified:<ul><li>networkConstructId (Deprecated)<li>networkConstruct.id</ul>",
                "operationId": "getEquipmentHolder",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstructId",
                        "in": "query",
                        "description": "(Deprecated) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 Equipment Holders at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved EquipmentHolders successfully.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentHolderRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment holders with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipmentHolders/{equipmentHolderId}": {
            "get": {
                "tags": [
                    "000 - nsiapiequipmentHolders"
                ],
                "summary": "Retrieves a specific equipment holder",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getEquipmentHolderById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentHolderId",
                        "in": "path",
                        "description": "Id of the equipment holder to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentHolderRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment holder",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment holder with given id.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment holder with given id.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/equipmentHolders": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0equipmentHolders"
                ],
                "summary": "Retrieves equipment holders satisfying the provided parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>networkConstructId (Deprecated)<li>networkConstruct.id</ul>",
                "operationId": "getEquipmentHolder",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstructId",
                        "in": "query",
                        "description": "(Deprecated) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted ALL to return all Equipment at once.",
                        "required": false,
                        "type": "string",
                        "default": "ALL"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentHolderRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query param was specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment holders with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v2_0/equipmentHolders/{equipmentHolderId}": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0equipmentHolders"
                ],
                "summary": "Retrieves a specific equipment holder",
                "description": "",
                "operationId": "getEquipmentHolderById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentHolderId",
                        "in": "path",
                        "description": "Id of the equipment holder to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentHolderRO"
                        }
                    },
                    "400": {
                        "description": "Invalid query param was specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment holder",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment holder with given id.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment holder with given id.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/equipmentHolders": {
            "get": {
                "tags": [
                    "997 - nsiapiv3equipmentHolders"
                ],
                "summary": "Retrieves equipment holders satisfying the provided parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>networkConstructId (Deprecated)<li>networkConstruct.id</ul>",
                "operationId": "getEquipmentHolder",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstructId",
                        "in": "query",
                        "description": "(Deprecated) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 Equipment Holders at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved EquipmentHolders successfully.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentHolderRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query param was specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment holders with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/clientPort": {
            "post": {
                "tags": [
                    "CLIENT PORT Operations"
                ],
                "summary": "Client port operations create/disable/enable/delete",
                "description": "",
                "operationId": "clientPortOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Client Port Operation Request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ClientPortRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Client Port Operation Success",
                        "schema": {
                            "$ref": "#/definitions/ClientPortResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Entity not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/controllerParametersSetting": {
            "get": {
                "tags": [
                    "controller Parameters Setting"
                ],
                "summary": "Get controller Parameters Setting",
                "description": "",
                "operationId": "getGlobalConstraints",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "customerName",
                        "in": "query",
                        "description": "customer name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/GlobalConstraintsRequest"
                        }
                    },
                    "404": {
                        "description": "controller Parameters Setting Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "controller Parameters Setting"
                ],
                "summary": "Configures controller Parameters Setting",
                "description": "",
                "operationId": "configGlobalConstraints",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "controller Parameters Setting Configuration Request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GlobalConstraintsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "controller Parameters Setting Configured",
                        "schema": {
                            "$ref": "#/definitions/GlobalConstraintsRequest"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "controller Parameters Setting"
                ],
                "summary": "Delete controller Parameters Setting based on customer name",
                "description": "This API deletes controller Parameters Setting based on customer name<p>Prerequisite: controller Parameters Setting exist with the given customer name.</p>",
                "operationId": "deleteGlobalConstraints",
                "parameters": [
                    {
                        "name": "customerName",
                        "in": "query",
                        "description": "customer name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "controller Parameters Setting deleted"
                    },
                    "404": {
                        "description": "controller Parameters Setting not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error controller Parameters Setting",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/equipmentIntents": {
            "get": {
                "tags": [
                    "Equipment Intents"
                ],
                "summary": "Get all Equipment Intents",
                "description": "The operation is used to fetch all Equipment Intents submitted to the Intent Fulfillment Designer.<p>Prerequisite: At least one Equipment Intent must exist.</p>",
                "operationId": "getAllEquipmentIntents",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponseArray"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Equipment Intents"
                ],
                "summary": "Create Equipment Intents",
                "description": "This API validates Equipment Intent attributes, plans Equipment Intent realization for deployment.<p>Prerequisite: The entered Equipment Intent is valid.</p>",
                "operationId": "createEquipmentIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment Intent as a JSON Profile wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "201": {
                        "description": "Equipment Intent is created, Equipment realized and planned"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Equipment Intents"
                ],
                "summary": "Update Equipment Intents",
                "description": "This API modifies customerCode, UserLabel attribute of an equipment in an existing equipment intent.<p>Prerequisite: The entered equipment intentId and eqpId is valid.</p>",
                "operationId": "updateEquipmentIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment Intent edit request as a JSON Profile wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentEditRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Update successful"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/equipmentIntents/postUpgrade": {
            "post": {
                "tags": [
                    "Equipment Intents"
                ],
                "summary": "Upgrades Equipment Intents",
                "description": "This API upgrades existing FRES so that they have expectations with turnupTime and turnDownTime<p>Prerequisite: NA.</p>",
                "operationId": "upgradeEquipmentIntents",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "201": {
                        "description": "Upgrade command has been accepted"
                    },
                    "400": {
                        "description": "Upgrade command has failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/equipmentIntents/postUpgrade/projectName": {
            "post": {
                "tags": [
                    "Equipment Intents"
                ],
                "summary": "Updates Equipment projectName",
                "description": "This API update Equipment's projectName attribute in NSI based on project ID in Equipment Intent ",
                "operationId": "upgradeEquipmentIntentsProjectName",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/equipmentIntents/projectName/{projectName}": {
            "delete": {
                "tags": [
                    "Equipment Intents"
                ],
                "summary": "Delete an Equipment Intent based on project name",
                "description": "This API deletes an Equipment Intent based on project name.<p>Prerequisite: The project name to intent id mapping must exist for given project name</p>",
                "operationId": "deleteEquipmentIntent",
                "parameters": [
                    {
                        "name": "projectName",
                        "in": "path",
                        "description": "The project name used for intent lookup",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "ignoreEquipmentProvisioning",
                        "in": "query",
                        "description": "(Optional) Bypassing equipment provisioning state validation if set to true",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Equipment Intent deleted"
                    },
                    "404": {
                        "description": "Equipment Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Equipment Intent state conflicted",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/equipmentIntents/{id}": {
            "get": {
                "tags": [
                    "Equipment Intents"
                ],
                "summary": "Get an Equipment Intent based on its identifier",
                "description": "Fetches a uniquely identified Equipment Intent.<p>Prerequisite: An Equipment Intent must exist with the given ID.</p>",
                "operationId": "getEquipmentIntent",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The intent ID used for intent lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Equipment Intents"
                ],
                "summary": "Delete an Equipment Intent based on its identifier",
                "description": "This API deletes an Equipment Intent based on ID.<p>Prerequisite: An Equipment Intent must exist with the given ID.</p>",
                "operationId": "deleteEquipmentIntent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The intent ID used for intent lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "ignoreEquipmentProvisioning",
                        "in": "query",
                        "description": "(Optional) Bypassing equipment provisioning state validation if set to true",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Equipment Intent deleted"
                    },
                    "404": {
                        "description": "Equipment Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Equipment Intent state conflicted",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/equipmentState/{equipmentId}": {
            "put": {
                "tags": [
                    "Equipment State"
                ],
                "summary": "Updates equipment state for a service intent",
                "description": "",
                "operationId": "putEquipmentState",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "The equipment id for which state is to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment state request",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/EquipmentStateRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Equipment State updated"
                    },
                    "404": {
                        "description": "Equipment not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/regenPorts": {
            "get": {
                "tags": [
                    "REGEN PORTS"
                ],
                "summary": "Get Regen Port by Location of Port or Network Construct Name",
                "description": "",
                "operationId": "getRegenPorts",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "location",
                        "in": "query",
                        "description": "The location of the resource. (The location of port is of the form: name-shelf-slot-port)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the Resource",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/RegenPortsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Regen Ports Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "REGEN PORTS"
                ],
                "summary": "Configures Regen Port",
                "description": "\nNote: when querying by identifiers, the supported syntax of the api is:\n     ?identifierKey=key1,key2,...&identifierValue=value1,value2,...<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": { \n     \"type\": \"regenConfigRequest\",\n     \"regen\": true,\n     \"attributes\": {\n       \"endpoints\": [{ \n         \"networkElement\": {\n           \"name\": <<name>>\n          },\n         \"shelf\": <<shelf>>,\n         \"slot\": <<slot>>,\n         \"port\": <<port>>,\n         \"role\":\"a\"\n        },\n        {\n         \"networkElement\": {\n           \"name\": <<name>>\n          },\n        \"shelf\": <<shelf>>,\n         \"slot\": <<slot>>,\n         \"port\": <<port>>,\n         \"role\":\"z\"\n        } ]\n      }   }}</code></pre>",
                "operationId": "configRegenPorts",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Regen Port Configuration Request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/RegenPortsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Regen Port Configured",
                        "schema": {
                            "$ref": "#/definitions/RegenPortsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Entity not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/updatedExpectations/{intentId}": {
            "get": {
                "tags": [
                    "Updated Expectations Resource"
                ],
                "summary": "Gets updated expectations for a given intent id",
                "description": "",
                "operationId": "getUpdatedExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "intentId",
                        "in": "path",
                        "description": "The intent ID used for updated expectations lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/UpdatedExpectationsResponse"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/clientPort": {
            "post": {
                "tags": [
                    "CLIENT PORT Operations v1"
                ],
                "summary": "Client port operations create/disable/enable/delete",
                "description": "",
                "operationId": "clientPortOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Client Port Operation Request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ClientPortRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Client Port Operation Success",
                        "schema": {
                            "$ref": "#/definitions/ClientPortResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Entity not found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/controllerParametersSetting": {
            "get": {
                "tags": [
                    "controller Parameters Setting v1"
                ],
                "summary": "Get controller Parameters Setting",
                "description": "",
                "operationId": "getGlobalConstraints",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "customerName",
                        "in": "query",
                        "description": "customer name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/GlobalConstraintsRequest"
                        }
                    },
                    "404": {
                        "description": "controller Parameters Setting Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "controller Parameters Setting v1"
                ],
                "summary": "Configures controller Parameters Setting",
                "description": "controller Parameters Setting",
                "operationId": "configGlobalConstraints",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "controller Parameters Setting Configuration Request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GlobalConstraintsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "controller Parameters Setting Configured",
                        "schema": {
                            "$ref": "#/definitions/GlobalConstraintsRequestBO"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "controller Parameters Setting v1"
                ],
                "summary": "Delete controller Parameters Setting based on customer name",
                "description": "This API deletes controller Parameters Setting based on customer name<p>Prerequisite: controller Parameters Setting must exist with the given customer name.</p>",
                "operationId": "deleteGlobalConstraints",
                "parameters": [
                    {
                        "name": "customerName",
                        "in": "query",
                        "description": "customer name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "controller Parameters Setting deleted"
                    },
                    "404": {
                        "description": "controller Parameters Setting not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error controller Parameters Setting",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/equipmentIntents": {
            "get": {
                "tags": [
                    "Equipment Intents v1"
                ],
                "summary": "Get all Equipment Intents",
                "description": "The operation is used to fetch all Equipment Intents submitted to the Intent Fulfillment Designer.<p>Prerequisite: At least one Equipment Intent must exist.</p>",
                "operationId": "getAllEquipmentIntents",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponseArray"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "Equipment Intents v1"
                ],
                "summary": "Create Equipment Intents",
                "description": "This API validates Equipment Intent attributes, plans Equipment Intent realization for deployment.<p>Prerequisite: The entered Equipment Intent is valid.</p>",
                "operationId": "createEquipmentIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment Intent as a JSON Profile wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "201": {
                        "description": "Equipment Intent is created, Equipment realized and planned"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v1/equipmentIntents/projectName/{projectName}": {
            "delete": {
                "tags": [
                    "Equipment Intents v1"
                ],
                "summary": "Delete an Equipment Intent based on project name",
                "description": "This API deletes an Equipment Intent based on Project Name.<p>Prerequisite: The project name to intent id mapping must exist for given project name.</p>",
                "operationId": "deleteEquipmentIntent",
                "parameters": [
                    {
                        "name": "projectName",
                        "in": "path",
                        "description": "The project name used for intent lookup",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "ignoreEquipmentProvisioning",
                        "in": "query",
                        "description": "(Optional) Bypassing equipment provisioning state validation if set to true",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Equipment Intent deleted"
                    },
                    "404": {
                        "description": "Equipment Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Equipment Intent state conflicted",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/equipmentIntents/{id}": {
            "get": {
                "tags": [
                    "Equipment Intents v1"
                ],
                "summary": "Get an Equipment Intent based on its identifier",
                "description": "Fetches a uniquely identified Equipment Intent.<p>Prerequisite: An Equipment Intent must exist with the given ID.</p>",
                "operationId": "getEquipmentIntent",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The intent ID used for intent lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "Equipment Intents v1"
                ],
                "summary": "Delete an Equipment Intent based on its identifier",
                "description": "This API deletes an Equipment Intent based on ID.<p>Prerequisite: An Equipment Intent must exist with the given ID.</p>",
                "operationId": "deleteEquipmentIntent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The intent ID used for intent lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "ignoreEquipmentProvisioning",
                        "in": "query",
                        "description": "(Optional) Bypassing equipment provisioning state validation if set to true",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Equipment Intent deleted"
                    },
                    "404": {
                        "description": "Equipment Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Equipment Intent state conflicted",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v1/equipmentState/{equipmentId}": {
            "put": {
                "tags": [
                    "Equipment State v1"
                ],
                "summary": "Updates equipment state for a service intent",
                "description": "",
                "operationId": "putEquipmentState",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentId",
                        "in": "path",
                        "description": "The equipment id for which state is to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment state request",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/EquipmentStateRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Equipment State updated"
                    },
                    "404": {
                        "description": "Equipment not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/regenPorts": {
            "get": {
                "tags": [
                    "REGEN PORTS v1"
                ],
                "summary": "Get Regen Port by Location of Port or Network Construct Name",
                "description": "",
                "operationId": "getRegenPorts",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "location",
                        "in": "query",
                        "description": "The location of the resource. (The location of port is of the form: name-shelf-slot-port)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "The name of the resource",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/RegenPortsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Regen Ports Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "REGEN PORTS v1"
                ],
                "summary": "Configures Regen Port",
                "description": "\nNote: when querying by identifiers, the supported syntax of the api is:\n     ?identifierKey=key1,key2,...&identifierValue=value1,value2,...<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": { \n     \"type\": \"regenConfigRequest\",\n     \"regen\": true,\n     \"attributes\": {\n       \"endpoints\": [{ \n         \"networkElement\": {\n           \"name\": <<name>>\n          },\n         \"shelf\": <<shelf>>,\n         \"slot\": <<slot>>,\n         \"port\": <<port>>,\n         \"role\":\"a\"\n        },\n        {\n         \"networkElement\": {\n           \"name\": <<name>>\n          },\n        \"shelf\": <<shelf>>,\n         \"slot\": <<slot>>,\n         \"port\": <<port>>,\n         \"role\":\"z\"\n        } ]\n      }   }}</code></pre>",
                "operationId": "configRegenPorts",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Regen Port Configuration Request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/RegenPortsRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Regen Port Configured",
                        "schema": {
                            "$ref": "#/definitions/RegenPortsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Entity not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/updatedExpectations/{intentId}": {
            "get": {
                "tags": [
                    "Updated Expectations Resource v1"
                ],
                "summary": "Gets updated expectations for a given intent id",
                "description": "",
                "operationId": "getUpdatedExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "intentId",
                        "in": "path",
                        "description": "The intent ID used for updated expectations lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/UpdatedExpectationsResponse"
                        }
                    }
                }
            }
        },
        "/ifd/api/v2/equipmentIntents": {
            "get": {
                "tags": [
                    "Equipment Intents v2"
                ],
                "summary": "Get all Equipment Intents",
                "description": "The operation is used to fetch all Equipment Intents submitted to the Intent Fulfillment Designer.<p>Prerequisite: At least one Equipment Intent must exist.</p>",
                "operationId": "getAllEquipmentIntents",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponseArray"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "Equipment Intents v2"
                ],
                "summary": "Create Equipment Intents",
                "description": "This API validates Equipment Intent attributes, plans Equipment Intent realization for deployment.<p>Prerequisite: The entered Equipment Intent is valid.</p>",
                "operationId": "createEquipmentIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment Intent as a JSON Profile wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "201": {
                        "description": "Equipment Intent is created, Equipment realized and planned"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "put": {
                "tags": [
                    "Equipment Intents v2"
                ],
                "summary": "Update Equipment Intents",
                "description": "This API modifies customerCode, userLabel attribute of an equipment in an existing equipment intent.<p>Prerequisite: The entered equipment intentId and eqpId is valid.</p>",
                "operationId": "updateEquipmentIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment Intent edit request as a JSON Profile wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentEditRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Update successful"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v2/equipmentIntents/{id}": {
            "get": {
                "tags": [
                    "Equipment Intents v2"
                ],
                "summary": "Get an Equipment Intent based on its identifier",
                "description": "Fetches a uniquely identified Equipment Intent.<p>Prerequisite: An Equipment Intent must exist with the given ID.</p>",
                "operationId": "getEquipmentIntent",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The intent ID used for intent lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "Equipment Intents v2"
                ],
                "summary": "Delete an Equipment Intent based on its identifier",
                "description": "This API deletes an Equipment Intent based on ID.<p>Prerequisite: An Equipment Intent must exist with the given ID.</p>",
                "operationId": "deleteEquipmentIntent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The intent ID used for intent lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "ignoreEquipmentProvisioning",
                        "in": "query",
                        "description": "(Optional) Bypassing equipment provisioning state validation if set to true",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Equipment Intent deleted"
                    },
                    "404": {
                        "description": "Equipment Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Equipment Intent state conflicted",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/equipmentIntents": {
            "get": {
                "tags": [
                    "Equipment Intents v3"
                ],
                "summary": "Get all Equipment Intents",
                "description": "The operation is used to fetch all Equipment Intents submitted to the Intent Fulfillment Designer.<p>Prerequisite: At least one Equipment Intent must exist.</p>",
                "operationId": "getAllEquipmentIntents",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponseArray"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Equipment Intents v3"
                ],
                "summary": "Create Equipment Intents",
                "description": "This API validates Equipment Intent attributes, plans Equipment Intent realization for deployment.<p>Prerequisite: The entered Equipment Intent is valid.</p>",
                "operationId": "createEquipmentIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Equipment Intent as a JSON Profile wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "201": {
                        "description": "Equipment Intent is created, Equipment realized and planned"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/equipmentIntents/postUpgrade": {
            "post": {
                "tags": [
                    "Equipment Intents v3"
                ],
                "summary": "Updates Equipment Intents",
                "description": "This API validates Equipment Intent attributes, plans Equipment Intent realization for deployment.<p>Prerequisite: The entered Equipment Intent is valid.</p>",
                "operationId": "upgradeEquipmentIntents",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "201": {
                        "description": "Equipment Intent is created, Equipment realized and planned"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/equipmentIntents/postUpgrade/projectName": {
            "post": {
                "tags": [
                    "Equipment Intents v3"
                ],
                "summary": "Updates Equipment projectName",
                "description": "This API update Equipment's projectName attribute in NSI based on project ID in Equipment Intent ",
                "operationId": "upgradeEquipmentIntentsProjectName",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/equipmentIntents/{id}": {
            "get": {
                "tags": [
                    "Equipment Intents v3"
                ],
                "summary": "Get an Equipment Intent based on its identifier",
                "description": "Fetches a uniquely identified Equipment Intent.<p>Prerequisite: An Equipment Intent must exist with the given ID.</p>",
                "operationId": "getEquipmentIntent",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The intent ID used for intent lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipmentStaticSpecs": {
            "get": {
                "tags": [
                    "000 - nsiapiequipmentStaticSpecs"
                ],
                "summary": "Retrieve a list of EquipmentStaticSpec provided with the satisfying parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>networkConstruct.id<li>equipment.id</ul>\n",
                "operationId": "getEquipmentStaticSpecs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipment.id",
                        "in": "query",
                        "description": "Equipment identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "attributes.cctPackage.cctState",
                        "in": "query",
                        "description": "(Optional) Cct State. The allowed values are : IN_PROGRESS, DELETED, COMPLETE, FAILED",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentStaticSpecPlanned, equipmentStaticSpecDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of EquipmentStaticSpecs.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentStaticSpecListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the EquipmentStaticSpecs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/equipmentStaticSpecs/{equipmentStaticSpecId}": {
            "get": {
                "tags": [
                    "000 - nsiapiequipmentStaticSpecs"
                ],
                "summary": "Retrieves a specific equipmentStaticSpec",
                "description": "",
                "operationId": "getEquipmentStaticSpec",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentStaticSpecId",
                        "in": "path",
                        "description": "Identifier of the EquipmentStaticSpec to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentStaticSpecPlanned, equipmentStaticSpecDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested equipmentStaticSpec.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentStaticSpecRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipmentStaticSpec does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipmentStaticSpec.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/equipmentStaticSpecs": {
            "get": {
                "tags": [
                    "996 - nsiapiv1equipmentStaticSpecs"
                ],
                "summary": "Retrieve a list of EquipmentStaticSpec provided with the satisfying parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>networkConstruct.id<li>equipment.id</ul>\n",
                "operationId": "getEquipmentStaticSpecs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipment.id",
                        "in": "query",
                        "description": "Equipment identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "attributes.cctPackage.cctState",
                        "in": "query",
                        "description": " (Optional) Cct State. The allowed values are : IN_PROGRESS, DELETED, COMPLETE, FAILED",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentStaticSpecPlanned, equipmentStaticSpecDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of EquipmentStaticSpecs.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentStaticSpecListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the EquipmentStaticSpecs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/equipmentStaticSpecs/{equipmentStaticSpecId}": {
            "get": {
                "tags": [
                    "996 - nsiapiv1equipmentStaticSpecs"
                ],
                "summary": "Retrieves a specific equipment static spec",
                "description": "Equipment Static Spec returned in JSON format",
                "operationId": "getEquipmentStaticSpecById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "equipmentStaticSpecId",
                        "in": "path",
                        "description": "Equipment static spec identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, equipmentStaticSpecPlanned, equipmentStaticSpecDiscovered.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the equipment static spec.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentStaticSpecRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment static spec",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the equipment static spec",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment static spec.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/geored/site/status": {
            "get": {
                "tags": [
                    "site-status"
                ],
                "summary": "Get the current status of the geo-redundant site",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "JSON description of current site's bootstrap status, georedundancy status, and site ID"
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "site-status"
                ],
                "summary": "Change the activity state of the geo-redundant site to ACTIVE, or change the IP address.",
                "description": "Perform a failover by changing the state of the site from STANDBY to ACTIVE; or, change the configured IP address of the site. The body of the request should include either the site state OR the site address. Typically these fields will not be changed together.",
                "parameters": [
                    {
                        "name": "body_params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "properties": {
                                "site_state": {
                                    "$ref": "#/definitions/site_state"
                                },
                                "site_address": {
                                    "$ref": "#/definitions/site_address"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The site's state has been changed."
                    },
                    "400": {
                        "description": "Your request was not understood."
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/geored/api/v1/sites": {
            "get": {
                "tags": [
                    "site-summary"
                ],
                "summary": "Get the current status of all sites in the geo-redundant system",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "JSON description of the site bootstrap status, georedundancy status, and site ID for all sites",
                        "schema": {
                            "$ref": "#/definitions/sites"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            }
        },
        "/geored/cluster/status": {
            "get": {
                "tags": [
                    "cluster-status"
                ],
                "summary": "Get the current status of a geo-redundant application cluster.",
                "parameters": [
                    {
                        "name": "cluster_name",
                        "in": "query",
                        "type": "string",
                        "description": "The name of a georedundant aware application, such as `galera` or `datomic`",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Handshake data for cluster."
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "cluster-status"
                ],
                "summary": "Change the status of a geo-redundant application cluster.",
                "description": "Primarily used by applications. It is DANGEROUS for users to post to this endpoint!",
                "parameters": [
                    {
                        "name": "body_params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "object",
                            "required": [
                                "cluster_name",
                                "state_update"
                            ],
                            "properties": {
                                "cluster_name": {
                                    "$ref": "#/definitions/cluster_name"
                                },
                                "state_update": {
                                    "$ref": "#/definitions/state_update"
                                }
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The site's state has been changed."
                    },
                    "400": {
                        "description": "Your request was misconfigured or invalid."
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/geored/cluster/remote-status": {
            "get": {
                "tags": [
                    "cluster-remote-status"
                ],
                "summary": "Get the current status of a geo-redundant application cluster on a remote site.",
                "parameters": [
                    {
                        "name": "cluster_name",
                        "in": "query",
                        "type": "string",
                        "description": "The name of a georedundant aware application, such as `galera` or `datomic`",
                        "required": true
                    },
                    {
                        "name": "site_id",
                        "in": "query",
                        "type": "string",
                        "description": "The name of the remote site where the query should be sent.",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the handshake data for cluster on the named site."
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/geored/site/remotes": {
            "get": {
                "tags": [
                    "site-remotes"
                ],
                "summary": "Get the current remote site configuration.",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Returns the list of currently configured remotes."
                    },
                    "400": {
                        "description": "Your request was misconfigured or invalid."
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "post": {
                "tags": [
                    "site-remotes"
                ],
                "summary": "Add a new remote site. The current version of this app only supports 1 configured remote.",
                "parameters": [
                    {
                        "name": "body_params",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/remote_site"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "The new remote has been created."
                    },
                    "400": {
                        "description": "Your request was misconfigured or invalid."
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            },
            "delete": {
                "tags": [
                    "site-remotes"
                ],
                "summary": "Remove an existing remote site.",
                "parameters": [
                    {
                        "name": "site_id",
                        "in": "query",
                        "type": "string",
                        "description": "The ID of the configured remote site to remove.",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The remote was deleted."
                    },
                    "400": {
                        "description": "Your request was misconfigured or invalid."
                    },
                    "401": {
                        "description": "Unauthorized"
                    }
                }
            }
        },
        "/geored/api/v1/site/remotes/removed": {
            "get": {
                "tags": [
                    "site-remotes"
                ],
                "summary": "Get the last-removed remote site.",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Returns the last-removed remote site.",
                        "schema": {
                            "$ref": "#/definitions/site"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            }
        },
        "/geored/api/v1/site/remotes/removed/{id}": {
            "delete": {
                "tags": [
                    "site-remotes"
                ],
                "summary": "Remove a last-removed site from the data store",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "type": "string",
                        "description": "The site ID of the last-removed remote site to remove.",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The last-removed remote was deleted."
                    },
                    "404": {
                        "description": "The last-removed remote with the provided site id was not found.",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            }
        },
        "/geored/api/v1/site/remotes/recovery/{id}": {
            "post": {
                "tags": [
                    "site-remotes"
                ],
                "summary": "Recover a previously active site as a new standby.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "type": "string",
                        "required": true,
                        "description": "The ID of the last-removed remote site to recover."
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "type": "string",
                        "required": true,
                        "description": "The type of recovery to perform. 'hard' purges all data from the recovered site and re-syncs all data; 'soft' retains and reconciles the data on the recovered site.",
                        "enum": [
                            "hard",
                            "soft"
                        ]
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request for remote recovery has been accepted."
                    },
                    "400": {
                        "description": "The request was misconfigured or invalid.",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "404": {
                        "description": "The requested site was not found",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "site-remotes"
                ],
                "summary": "Delete a previously executed site recovery task.",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "type": "string",
                        "required": true,
                        "description": "The site ID of the site that was recovered."
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The site recovery status has been deleted."
                    },
                    "404": {
                        "description": "A recovery task for the specified site ID was not found.",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "site-remotes"
                ],
                "summary": "Get the recovery status",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "type": "string",
                        "description": "The site ID of the site being recovered.",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the current status of the in-progress recovery job.",
                        "schema": {
                            "$ref": "#/definitions/siteTask"
                        }
                    },
                    "404": {
                        "description": "The recovery job request id was not found.",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            }
        },
        "/geored/site/resync": {
            "post": {
                "tags": [
                    "resync"
                ],
                "summary": "Request a resync of application data, typically performed after a prolonged inter-site outage.",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/resyncRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The resync request has been accepted"
                    },
                    "400": {
                        "description": "Request body failed validation",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "401": {
                        "description": "Authorization failed"
                    },
                    "405": {
                        "description": "Method not allowed (POST only)",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "500": {
                        "description": "Internal server error; request received and validated but could not be processed",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            }
        },
        "/geored/api/v1/site/activate": {
            "post": {
                "tags": [
                    "activation"
                ],
                "summary": "Request to make the local standby site active. This request will sever the connection to the current active, and destroy the pairing between sites. The active site will become a previous active site that may be recovered into a standby",
                "responses": {
                    "202": {
                        "description": "The request to activate the local standby site has been accepted"
                    },
                    "403": {
                        "description": "Activation can only be done on the standby site",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "activation"
                ],
                "summary": "Get the activation status",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Returns the current status of the site activation task",
                        "schema": {
                            "$ref": "#/definitions/siteTask"
                        }
                    },
                    "404": {
                        "description": "The activation task status was not found.",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "activation"
                ],
                "summary": "Delete a previously executed site activation task.",
                "parameters": [],
                "responses": {
                    "204": {
                        "description": "The site activation status has been deleted."
                    },
                    "404": {
                        "description": "An activation task for the local site was not found.",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            }
        },
        "/geored/api/v1/site/geo-clean": {
            "post": {
                "tags": [
                    "geo-clean"
                ],
                "summary": "De-provisions any existing IPSec tunnel configuration present for the local site's cluster.",
                "responses": {
                    "204": {
                        "description": "The IPSec tunnel configuration was successfully removed"
                    },
                    "500": {
                        "description": "There was an error processing the request",
                        "schema": {
                            "$ref": "#/definitions/requestError"
                        }
                    }
                }
            }
        },
        "/gcs/api/v1/config": {
            "get": {
                "tags": [
                    "config"
                ],
                "operationId": "GetValue",
                "summary": "Returns the configuration value specified by URL parameters.",
                "description": "Returns the configuration value specified by URL parameters.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Returns the specified configuration(s).",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "404": {
                        "description": "Could not find the specified configuration.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                },
                "parameters": [
                    {
                        "$ref": "#/parameters/applicationParam"
                    },
                    {
                        "$ref": "#/parameters/instanceParam"
                    },
                    {
                        "$ref": "#/parameters/partitionParam"
                    },
                    {
                        "$ref": "#/parameters/groupParam"
                    },
                    {
                        "$ref": "#/parameters/nameParam"
                    },
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "$ref": "#/parameters/tagsParam"
                    },
                    {
                        "$ref": "#/parameters/callbackParam"
                    },
                    {
                        "$ref": "#/parameters/failoverParam"
                    },
                    {
                        "$ref": "#/parameters/passwordParam"
                    }
                ]
            },
            "post": {
                "tags": [
                    "config"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Create the configuration specified.",
                "operationId": "CreateValue",
                "parameters": [
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The configurations to be created.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration successfully created.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Failed to validate the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "config"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Create or overwrite the configuration specified.",
                "operationId": "OverwriteValue",
                "parameters": [
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The configurations to be created.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration successfully created.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Failed to validate the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "config"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Update the configuration specified.",
                "operationId": "UpdateValue",
                "parameters": [
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The configurations to be updated.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/UpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration successfully updated.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Failed to validate the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "config"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Delete the configuration specified.\n Note: set 'hard' flag to 'true' in request body to completely delete the configuration.",
                "operationId": "DeleteValue",
                "parameters": [
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The configurations to be deleted.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeleteRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The configuration has been deleted."
                    },
                    "400": {
                        "description": "Failed to validate the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            }
        },
        "/gcs/api/v2/config": {
            "get": {
                "tags": [
                    "config_v2"
                ],
                "operationId": "GetValue",
                "summary": "Returns the configuration value specified by URL parameters. Will retrun emyty list in case no configurations found.",
                "description": "Returns the configuration value specified by URL parameters.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Returns the specified configuration(s).",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                },
                "parameters": [
                    {
                        "$ref": "#/parameters/applicationParam"
                    },
                    {
                        "$ref": "#/parameters/instanceParam"
                    },
                    {
                        "$ref": "#/parameters/partitionParam"
                    },
                    {
                        "$ref": "#/parameters/groupParam"
                    },
                    {
                        "$ref": "#/parameters/nameParam"
                    },
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "$ref": "#/parameters/tagsParam"
                    },
                    {
                        "$ref": "#/parameters/callbackParam"
                    },
                    {
                        "$ref": "#/parameters/failoverParam"
                    },
                    {
                        "$ref": "#/parameters/passwordParam"
                    }
                ]
            }
        },
        "/gcs/api/v1/callback": {
            "post": {
                "tags": [
                    "callback"
                ],
                "operationId": "AddCallback",
                "summary": "Adds the given callbacks to the configuration specified.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The callbacks to add to the configurations.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CallbackRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the specified configuration(s).",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Failed to validate or parse the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "callback"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Removes the given callbacks from the configuration specified",
                "operationId": "DeleteCallback",
                "parameters": [
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The configuration to be created.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeleteCallbackRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration successfully created.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Failed to validate the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            }
        },
        "/gcs/api/v1/inheritable": {
            "post": {
                "tags": [
                    "inheritable"
                ],
                "operationId": "AddInheritable",
                "summary": "Adds the given inheritable callbacks to the configuration specified.",
                "description": "Returns the configuration value specified by URL parameters.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The callbacks to add to the configurations.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CallbackRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns the specified configuration(s).",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Failed to parse or validate the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "inheritable"
                ],
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "summary": "Removes the given inheritable callbacks from the configuration specified and all applicable child configurations.",
                "operationId": "DeleteInheritable",
                "parameters": [
                    {
                        "$ref": "#/parameters/sortParam"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The callbacks to delete from the configurations.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeleteCallbackRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Inheritable callback successfully added.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Failed to parse or validate the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error while processing the request.",
                        "schema": {
                            "$ref": "#/definitions/ErrorResponse"
                        }
                    }
                }
            }
        },
        "/nsi/api/groups": {
            "get": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Retrieves groups satisfying the provided parameters",
                "description": "<p>LATEST VERSION: V3<p>It supports the following parameters:<ul><li>offset<li>limit<li>freId</ul>",
                "operationId": "getGroups",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 groups at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "The FRE id to return its Groups",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed value is: groupPlanned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested group",
                        "schema": {
                            "$ref": "#/definitions/GroupListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the group with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Creates or updates a Group",
                "description": "<p>LATEST VERSION: V3<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n      \"id\": \"cf921459-d88c-4bc0-bfaf-6c8115d8ef40\",\n      \"type\": \"group\",\n      \"attributes\": {\n        \"name\": \"group\",\n        \"identifiers\": \"[]\",\n        \"userData\": \"{}\"\n      }\n    }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postGroup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create/update a group",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "group created or updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Invalid data to create or update equipment group.",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update the group.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/groups/{groupId}": {
            "put": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Create or Update a specific group with top level attributes",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putGroup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Group identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "group",
                        "description": "The new Group data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Group with given id has been updated successfully."
                    },
                    "400": {
                        "description": "Bad request. Bad or invalid parameters were provided.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update group, internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/groups/{groupId}/groupPlanned": {
            "put": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Update a specific planned group",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putGroupPlanned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Group identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "group",
                        "description": "The new group data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GroupPlannedRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Group planned with given id has been updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/GroupPlannedRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Bad or invalid parameters were provided.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update group planned, internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "PATCH a specific planned group",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current group planned resource.<p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"name\" : \"name of your choice\"\n            },\n             \"relationships\" : {\n                \"parentGroup\": {\n                   \"data\": [\n                     {\n                        \"type\": \"group\",\n                        \"id\": \"p1\"\n                     }\n                  ]\n             }\n        }\n      }\n    ]\n}\n</code></pre><p>Example delete request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"name\",\n             \"relationships\" : {\n                \"parentGroup\": {\n                   \"data\": [\n                     {\n                        \"type\": \"group\",\n                        \"id\": \"p1\"\n                     }\n                  ]\n             }\n        }\n      }\n    ]\n}\n</code></pre><p>Example add request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"add\",\n            \"attributes\" : {\n               \"name\" : \"name of your choice\"\n            },\n             \"relationships\" : {\n                \"parentGroup\": {\n                   \"data\": [\n                     {\n                        \"type\": \"group\",\n                        \"id\": \"p1\"\n                     }\n                  ]\n             }\n        }\n      }\n    ]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPlannedGroup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "The id of the Group to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given Group.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GroupPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/GroupPlannedRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/groups/{id}": {
            "get": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Retrieves a group with specific id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "getGroupById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Id of the group to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed value is: groupPlanned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved group successfully",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified group(error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Delete a group with given id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "removeGroupById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Id of group",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted the group successfully"
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete the specified group (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/groups/{id}/identifiers/{identifierKey}": {
            "put": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Create or update an group's identifier",
                "description": "<p>LATEST VERSION: V3<p>If present, the leading and trailing whitespaces will be trimmed from the userData's key and value.<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of group under which to create or update the Identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifier",
                        "description": "Identifier that needs to be updated",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "group userData have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipment userData does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Delete an identifier from a given group",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteGroupIdentifiers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the group whose identifier is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted group identifier successfully."
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group or identifier does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete group identifier (error message provided).",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/groups/{id}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Create or update an group's userData",
                "description": "<p>LATEST VERSION: V3<p>If present, the leading and trailing whitespaces will be trimmed from the userData's key and value.<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putEquipmentUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of group under which to create or update the UserData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of userData to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "userDataValue",
                        "description": "The desired userData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "group userData have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified equipment userData does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapigroups"
                ],
                "summary": "Delete a specific userData from specific group",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteGroupUserData",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the group whose UserData is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted group userData successfully."
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group or userData does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete group userData (error message provided).",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/groups": {
            "get": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Retrieve groups",
                "description": "",
                "operationId": "getGroups",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default value is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "The FRE id to return its Groups",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed value is: groupPlanned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved groups successfully.",
                        "schema": {
                            "$ref": "#/definitions/GroupListRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve groups(error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Trigger the creation of group",
                "description": "<p>LATEST VERSION: V3<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n      \"id\": \"cf921459-d88c-4bc0-bfaf-6c8115d8ef40\",\n      \"type\": \"group\",\n      \"attributes\": {\n        \"identifiers\": \"[],\"\n        \"userData\": \"{}\"\n      }\n    }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postGroup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create a group",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Group has been created successfully",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/groups/{groupId}": {
            "put": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Create or Update a specific group with top level attributes",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putGroup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Group identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "group",
                        "description": "The new Group data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Group with given id has been updated successfully."
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update group, internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/groups/{groupId}/groupPlanned": {
            "put": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Update a specific planned group",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putGroupPlanned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "Group identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "group",
                        "description": "The new group data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GroupPlannedRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Group planned with given id has been updated successfully."
                    },
                    "400": {
                        "description": "Bad request. Bad or invalid parameters were provided.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update group planned, internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "PATCH a specific planned group",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current group planned resource.<p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"name\" : \"name of your choice\"\n            },\n             \"relationships\" : {\n                \"parentGroup\": {\n                   \"data\": [\n                     {\n                        \"type\": \"group\",\n                        \"id\": \"p1\"\n                     }\n                  ]\n             }\n        }\n      }\n    ]\n}\n</code></pre><p>Example delete request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"name\",\n             \"relationships\" : {\n                \"parentGroup\": {\n                   \"data\": [\n                     {\n                        \"type\": \"group\",\n                        \"id\": \"p1\"\n                     }\n                  ]\n             }\n        }\n      }\n    ]\n}\n</code></pre><p>Example add request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"add\",\n            \"attributes\" : {\n               \"name\" : \"name of your choice\"\n            },\n             \"relationships\" : {\n                \"parentGroup\": {\n                   \"data\": [\n                     {\n                        \"type\": \"group\",\n                        \"id\": \"p1\"\n                     }\n                  ]\n             }\n        }\n      }\n    ]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPlannedGroup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "groupId",
                        "in": "path",
                        "description": "The id of the Group to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given Group.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/GroupPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/GroupPlannedRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/groups/{id}": {
            "get": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Retrieve group with specified id",
                "description": "",
                "operationId": "getGroupById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Id of group",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed value is: groupPlanned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved group successfully.",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified group(error message provided).",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Delete a group with given id",
                "description": "",
                "operationId": "removeGroupById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Id of group",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted the group successfully",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete the specified group (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/groups/{id}/identifiers/{identifierKey}": {
            "put": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Creates or updates an identifier to a given group",
                "description": "",
                "operationId": "updateIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "ID of group under which to create or update the Identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "identifier",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Group userData have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Delete an identifier from a given group",
                "description": "",
                "operationId": "deleteGroupIdentifiers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the group whose identifier is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted the Group."
                    },
                    "204": {
                        "description": "Deleted group identifier successfully."
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group or identifier does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete group identifier (error message provided).",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/groups/{id}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Creates or updates UserData to a given group",
                "description": "",
                "operationId": "updateUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of group under which to create or update the UserData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired userData value",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Group userData have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/GroupRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "999 - nsiapiv3groups"
                ],
                "summary": "Delete an userData from a given group",
                "description": "",
                "operationId": "deleteGroupUserData",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the group whose UserData is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted the Group."
                    },
                    "204": {
                        "description": "Deleted group userData successfully."
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified group or userData does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete group userData (error message provided).",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/inventory-history/v1/query/{serviceId}": {
            "get": {
                "tags": [
                    "inventory-historyv1query"
                ],
                "summary": "Retrieves all events for a given service between two dates",
                "description": "<h1>Filtering</h1>\n\n<p>Available filters are provided in the response, they can be provided in the request as GET parameters.<br>\nMultiple filters can be comma separated or passed in individually eg ?filter[key][]=value1&filter[key][]=value2& ...</p>",
                "operationId": "getEntriesForServiceId",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "serviceId",
                        "in": "path",
                        "description": "Identifier of the service to be retrieved.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "from",
                        "in": "query",
                        "description": "From date specified in RFC3339 format.<p>**Example**: _2021-01-19_",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "to",
                        "in": "query",
                        "description": "To date specified in RFC3339 format.<p>**Example**: _2021-04-19_",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "filter_category",
                        "in": "query",
                        "description": "(Optional) Category filter values as a comma separated list. Filter values are provided in the response.<p>**Example**: foo, bar",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter_eventName",
                        "in": "query",
                        "description": "(Optional) Event filter values as a comma separated list. Filter values are provided in the response.<p>**Example**: foo, bar",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filter_userName",
                        "in": "query",
                        "description": "(Optional) User filter values as a comma separated list. Filter values are provided in the response.<p>**Example**: foo, bar",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "(Optional) Offset for the next page of results.<p>**Example**: _10_",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resultsPerPage",
                        "in": "query",
                        "description": "(Optional) Limit the number of services present in a page.<p>**Example**: _100_",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of events.",
                        "schema": {
                            "$ref": "#/definitions/ServiceEventsQueryResponseRO"
                        }
                    },
                    "400": {
                        "description": "Missing mandatory parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "A server error occurred.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/inventory-history/v1/query/{serviceId}/timeline": {
            "get": {
                "tags": [
                    "inventory-historyv1query"
                ],
                "summary": "Retrieves weekly counts of events for a given service from today to the configured maximum retention period",
                "description": "",
                "operationId": "getServiceEventCounts",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "serviceId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the timeline for the service.",
                        "schema": {
                            "$ref": "#/definitions/ServiceEventsQueryResponseRO"
                        }
                    },
                    "500": {
                        "description": "A server error occured.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/inventory-history/v1/query/{serviceId}/{eventId}/{week}": {
            "get": {
                "tags": [
                    "inventory-historyv1query"
                ],
                "summary": "Retrieves detailed information on a specific service event, the eventId and week can be obtailed from the timeline or search APIs",
                "description": "",
                "operationId": "getServiceEvent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "serviceId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "eventId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "week",
                        "in": "path",
                        "required": true,
                        "type": "integer",
                        "format": "int32"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the timeline for the service.",
                        "schema": {
                            "$ref": "#/definitions/ServiceEventsQueryResponseRO"
                        }
                    },
                    "500": {
                        "description": "A server error occured.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/search/equipment": {
            "get": {
                "tags": [
                    "equipment"
                ],
                "summary": "Retrieves the equipment satisfying the query parameters",
                "description": "List of equipment returned in JSON format.\nNote: <ul>1). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>2). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchEquipment",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) List of equipment Ids. NA results in all Equipments with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentName",
                        "in": "query",
                        "description": "(Optional) List of equipment Names.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.siteName). If provided, must also provide searchText parameter",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of resource states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "networkConstruct.name",
                        "in": "query",
                        "description": "(Optional) Network Construct name. NA results in all Equipments with no NC name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalNeName",
                        "in": "query",
                        "description": "(Optional) Network Construct name. NA results in all Equipments with no NC name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. NA results in all Equipments with no NC id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "services.utilizationServiceTotal",
                        "in": "query",
                        "description": "(Optional) Allow filtering on total of Transport and Packet services using the equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "services.utilizationInfrastructureTotal",
                        "in": "query",
                        "description": "(Optional) Allow filtering on total of Transport and Packet Infrastructure using the equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier. NA results in all Equipments with no intent id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site Identifier for equipment. NA results in all Equipments with no site id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment states. NA results in all Equipments with no state. NOT query is supported. The allowed state values are: IS, OOS, OOS_AU, OOS_MA, OOS_AUMA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayState",
                        "in": "query",
                        "description": "(Optional) List of equipment displayState values. NA results in all Equipments with no display state. NOT query is supported. The allowed display state values are: IS, OOS, OOS-AU, OOS-MA, OOS-AUMA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "shelf",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment shelves. NA results in all Equipments with no shelf. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slot",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment slots. NA results in all Equipments with no slot. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subSlot",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment sub-slots. NA results in all Equipments with no subslot. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subsubSlot",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment sub-sub-slots. NA results in all Equipments with no subsubslot. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subShelf",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment sub-shelves. NA results in all Equipments with no subshelf. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "availabilityState",
                        "in": "query",
                        "description": "(Optional) List of Equipment availabilityState. NA results in all Equipments with no availabilityState. NOT query is supported. The allowed availabilityState values are: PLANNED, AVAILABLE, UNVALIDATED, INUSE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAvailabilityState",
                        "in": "query",
                        "description": "(Optional) List of equipment displayAvailabilityState values. NA results in all Equipments with no displayAvailabilityState. NOT query is supported. The allowed displayAvailabiltyState values are: Planned, Unvalidated, Available, In use",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "reservationState",
                        "in": "query",
                        "description": "(Optional) List of Equipment reservationState. NA results in all Equipments with no reservationState. NOT query is supported. The allowed reservationState values are: Unknown, Not reserved, Reserved for maintenance, Reserved for facility, Reserved for reversion",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "maintenanceMode",
                        "in": "query",
                        "description": "(Optional) List of Equipment maintenanceMode. NA results in all Equipments with no maintenanceMode. NOT query is supported. The allowed maintenanceMode values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "cardType",
                        "in": "query",
                        "description": "(Optional) List of Equipment cardType. NA results in all Equipments with no cardType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "provisionedSpec.partNumber",
                        "in": "query",
                        "description": "(Optional) List of Equipment provisionedSpec.partNumber. NA results in all Equipments with no provisionedSpecPartNumber. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "specificationMismatch",
                        "in": "query",
                        "description": "(Optional) List of Equipment specificationMismatch. NA results in all Equipments with no specificationMismatch. NOT query is supported. The allowed specificationMismatch values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "description": "(Optional) List of Equipment category. NA results in all Equipments with no category. NOT query is supported. The allowed category values are: rack, shelf, pluggable, standalone",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "neContactState",
                        "in": "query",
                        "description": "(Optional) List of neContactState. NA results in all Equipments with no neContactState. NOT query is supported. The allowed neContactState values are: IN, OUT",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.macAddress",
                        "in": "query",
                        "description": "(Optional) Network Construct macAddress. NA results in all Equipments with no ncMacAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.subnetName",
                        "in": "query",
                        "description": "(Optional) Network Construct subnetName. NA results in all Equipments with no ncSubnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "projectName",
                        "in": "query",
                        "description": "(Optional) Project name. NA results in all Equipments with no projectName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) List of srlg values separated by comma. NA results in all Equipments with no srlg. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "secondaryState",
                        "in": "query",
                        "description": "(Optional) List of secondary state.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serial",
                        "in": "query",
                        "description": "(Optional) List of serial.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "customer",
                        "in": "query",
                        "description": "(Optional) List of customer.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: equipmentsWithSrlg, equipmentsLookupByName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "namedQueryParam1 must be provided for namedQuery: equipmentsLookupByName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: specificationMismatch, state, availabilityState, reservationState, maintenanceMode, cardType, category, ncMacAddress, ncSubnetName, projectName, displayAvailabilityState, displayState, equipped.utilizationTotalCapacity, equipped.utilizationUsedCapacity, equipped.utilizationPercent, inUseByService.utilizationTotalCapacity, inUseByService.utilizationUsedCapacity, inUseByService.utilizationPercent, services.utilizationServiceTotal, services.utilizationInfrastructureTotal, shelf, subShelf, slot, subSlot, subsubSlot, equipmentName, secondaryState, provisionedSpec.partNumber, provisionedSpec.serialNumber, customer",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaLimit",
                        "in": "query",
                        "description": "(Optional)  Size of metadata returned",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, planned, discovered, networkConstructs, srlgs, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/search/equipmentGroups": {
            "get": {
                "tags": [
                    "equipmentGroups"
                ],
                "summary": "Retrieves equipment groups satisfying the provided parameters",
                "description": "\nNote: <ul>1). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>2). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchEquipmentGroups",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of Equipment group identifiers to retrieve. NA results in all EquipmentGroups with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. NA results in all EquipmentGroups with no ncId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) Equipment group name. NA results in all EquipmentGroups with no name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "(Optional) List of Equipment group type. NA results in all EquipmentGroups with no type. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subType",
                        "in": "query",
                        "description": "(Optional) List of Equipment group sub type. NA results in all EquipmentGroups with no subType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipment.id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers. NA results in all EquipmentGroups with no equipmentIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier. NA results in all EquipmentGroups with no intentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of resource states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: type, subType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, networkConstructs, discovered, planned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query param was specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment groups with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/search/fres": {
            "get": {
                "tags": [
                    "fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "\nNote: <ul>1). When querying by identifiers, the supported syntax is as follows:\n     ?identifierKey=key1,key2,...&identifierValue=value1,value2,...\nFor instance:\n     ?identifierKey=nodalId&identifierValue=nodalIdValue</ul><ul>2). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>3). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchFres",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of FRE identifiers to retrieve. NA results in all Fres with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text, (default search Fields are name, layerRate, tpeLocations if searchFields is not specified.)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search with, combined with searchText. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of fre planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "FRE layer rates in comma separated list. NA results in all Fres with no layerRate. NOT query is supported. The allowed layerRate values are: ETHERNET, OTU1, OTU2, OTU2e, OTU3, OTU4, OTUCn, OTSi, OMS, OS, PHY, OTS, FICON, FC, ODU, ODU0, ODU1, ODU2, ODU2e, ODU3, ODU4, ODUCn, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET, ENCAPSULATION, MPLS, MPLS_PROTECTION, MEDIA, LAG, RS, E1, E3, E1_2M, EC1, DSR_2M, LINE_OC3_STS3_AND_MS_STM1, SECTION_OC3_STS3_AND_RS_STM1, DSR_OC3_STM1, DSR_OC12_STM4, DSR_OC48_STM16, DSR_OC192_STM64, CES_IWF, T1, DSR_1_5M, STS1, STS3C, STS12C, STS24C, STS48C, STS192C, DS0, DS1, DS3, VT15, VT2, NOT_APPLICABLE, ODUFLEX, OTUg, ODUg, BGP, FLEXE_GROUP, IP, CBR",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Comma separated Network Construct identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id.operator",
                        "in": "query",
                        "description": "(Optional) The logical operator to use when searching Network Construct identifiers",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "or",
                            "and"
                        ]
                    },
                    {
                        "name": "tpe.id",
                        "in": "query",
                        "description": "(Optional) Comma separated TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpe.id.operator",
                        "in": "query",
                        "description": "(Optional) The logical operator to use when searching tpeIds",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "or",
                            "and"
                        ]
                    },
                    {
                        "name": "physicalNeName",
                        "in": "query",
                        "description": "(Optional) Network Construct name. NA results in all Fres with no NC name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalNeName.operator",
                        "in": "query",
                        "description": "(Optional) The logical operator to use when searching Network Construct name",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "or",
                            "and"
                        ]
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifer object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) List of concrete FRE identifiers. NA results in all Fres with no concreteFREIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bookingData.lockout",
                        "in": "query",
                        "description": "(Optional)  Flag that enables/disables a link from having additional tunnel BW being consumed. NA results in all Fres with no bwLockout. NOT query is supported.The allowed bwLockout values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "description": "(Optional, Deprecated) FRE group :<ul><li>dwa for all FREs in OTU4 and all top level FREs in ETHERNET, DSR, DSR_ETHERNET, OTSi(OCH), ODU2, ODU4, ODUCn, OTUCn<li>infrastructure for all FRE-APs representing forwarding constructs between ROADM OTS'<li>packet for all L2 nodal and top level FREs in ETHERNET including infrastructure</ul>",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "dwa",
                            "infrastructure",
                            "packet",
                            "packet_infrastructure",
                            "tdm"
                        ]
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "FRE types in comma separated list. NA results in all Fres with no freType. NOT query is supported. The allowed freType values are: explicitRoute, explicitRouteGroup, snc, sncGroup, explicitRouteInstance, NA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "userLabel",
                        "in": "query",
                        "description": "User label. NA results in all Fres with no userLabel. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "managementName",
                        "in": "query",
                        "description": "Management Name. NA results in all Fres with no mgmt name. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id. NA results in all Fres with no serviceIntentId. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id. NA results in all Fres with no equipmentIntentId. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.intent.id",
                        "in": "query",
                        "description": "(Optional) The intent id. NA results in all Fres with no intentId. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.intent.type",
                        "in": "query",
                        "description": "(Optional) The intent type. NA results in all Fres with no intentType. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. NA results in all Fres with no signalContentType. NOT query is supported. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) Find roadmlines by srlg values separated by comma. NA results in all Fres with no srlg. NOT query is supported. A roadmline is a FRE between two SAM cards.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "deploymentState",
                        "in": "query",
                        "description": "(Optional) deploymentState parameter used to filter results. NA results in all Fres with no deploymentState. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "(Optional) The active state of the resource. NA results in all Fres with no active. NOT query is supported. The allowed active values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "directionality",
                        "in": "query",
                        "description": "(Optional) Indicates if unidirectional or bidirectional FREs should be returned. NA results in all Fres with no directionality. NOT query is supported.  The allowed directionality values are: unidirectional, bidirectional",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkRole",
                        "in": "query",
                        "description": "(Optional) Determines if the FRE participates in an internal or external forwarding view or involves access points or connection points. NA results in all Fres with no networkRole. NOT query is supported.  The allowed networkRole values are: IFRE, FREAP, FREhAP, ROADMLINE, IFRECP",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "FRE types in comma separated list. The allowed values are: service, link, roadmline-ap, roadmline",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceClass",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the FRE service class. This parameter accepts a list of comma separated values. NA results in all Fres with no serviceClass. NOT query is supported. The allowed serviceClass values are: EVC, ETransit, EAccess, VLAN, TDM, Transport Client, Photonic, Tunnel, IP, LLDP, LAG, OTU, ROADM Line, Fiber, SNC , OSRP Link, OSRP Line, SNCP, ICL, Ring, FlexeLink, FlexeGroup, L3VPN, BGP Session,Path,EVPN_VPWS",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRateQualifier",
                        "in": "query",
                        "description": "(Optional) Indicates additional qualification information for a LayerRate.NA results in all Fres with no layerRateQualifier. NOT query is supported. For example, for beyond 100G rates (e.g. OTUCn, ODUCn), defines the n multiplier, or the n-M subrate value.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceRate",
                        "in": "query",
                        "description": "The service rate of the ODUFLEX FRE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportedByFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all supported parent FREs (default is one serviceClass/layer level up) that have a serviceClass designation for the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportedByQualifier",
                        "in": "query",
                        "description": "(Optional) Used in conjunction with supportedByFreId and controls if only one-level (default) or all parent FREs with a serviceClass are returned",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "one",
                            "all"
                        ]
                    },
                    {
                        "name": "supportingFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all supporting child FREs (one serviceClass/layer level down) that have a serviceClass designation for the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "customerName",
                        "in": "query",
                        "description": "(Optional) Search for an exact match on customerName. NA results in all Fres with no customerName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sncgUserlabel",
                        "in": "query",
                        "description": "(Optional) For Control Plane SNCs only: Retrieves all SNCs provided the parent SNCG userLabel. NA results in all Fres with no sncgUserLabel. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tunnelType",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE Tunnel class service. NA results in all Fres with no tunnelType. This parameter accepts a list of comma separated values. The allowed tunnelType values are: dynamic, static",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ringType",
                        "in": "query",
                        "description": "(Optional) Allow filtering on type of G8032 ring. NA results in all Fres with no ringType. NOT query is supported. This parameter accepts a list of comma separated values. The allowed ringType values are: majorRing, subRing",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ringCompleteness",
                        "in": "query",
                        "description": "(Optional) Allow filtering on type of G8032 ring completeness. NA results in all Fres with no ringCompleteness. NOT query is supported. This parameter accepts a list of comma separated values. The allowed ringCompleteness values are: partial, complete",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "adminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE adminState. NA results in all Fres with no adminState. NOT query is supported. This parameter accepts a list of comma separated values. The allowed adminState values are: enabled, disabled, not applicable, In Service, Out of Service",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "operationState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE operationState. NA results in all Fres with no operationState. NOT query is supported. This parameter accepts a list of comma separated values. The allowed operationState values are: fully operating, not operating, degraded operation, Not Applicable, Undetermined, In Service, Degraded, Out of Service External, Out of Service",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.status",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS status. NA results in all Fres with no lqsStatus. NOT query is supported. The allowed statues values are: good, high, low, upgrade",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.margin.valid",
                        "in": "query",
                        "description": "(Optional) The LQS margin validity state. NA results in all Fres with no lqsMarginValid. NOT query is supported. The allowed lqsMarginValid values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.reconciled",
                        "in": "query",
                        "description": "(Optional) The LQS fiber reconciled state. NA results in all Fres with no lqsFiberReconciled. NOT query is supported. The allowed lqsFiberReconciled values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.method",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS fiber method. NA results in all Fres with no lqsFiberMethod. NOT query is supported. The allowed lqsFiberMethod values are: totalPower, osc, ramanTelemetry, rls",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.deltaAvgToPlannedLoss",
                        "in": "query",
                        "description": "(Optional) The LQS fiber delta average to planned loss. NA results in all Fres with no lqsFiberDeltaAvgToPlannedLoss. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.avgLoss",
                        "in": "query",
                        "description": "(Optional) The LQS fiber average loss. NA results in all Fres with no lqsFiberAvgLoss. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.lastCalculationTime",
                        "in": "query",
                        "description": "(Optional) The LQS fiber last loss calculation time. NA results in all Fres with no lqsFiberLastCalculationTime. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.avgLossStatus",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS Average Loss Status. NA results in all Fres with no lqsFiberAvgLossStatus. NOT query is supported. The allowed lqsFiberAvgLossStatus values: low, good, high",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.plannedLoss",
                        "in": "query",
                        "description": "(Optional) The LQS fiber planned loss. NA results in all Fres with no lqsFiberPlannedLoss. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.plannedLossMargin",
                        "in": "query",
                        "description": "(Optional) The LQS fiber planned loss margin. NA results in all Fres with no lqsFiberPlannedLossMargin. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.currentLoss",
                        "in": "query",
                        "description": "(Optional) The LQS fiber planned current loss. NA results in all Fres with no lqsFiberCurrentLoss. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.currentLossTime",
                        "in": "query",
                        "description": "(Optional) The LQS fiber current loss time. NA results in all Fres with no lqsFiberCurrentLossTime. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.currentLossMethod",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS fiber current loss method. NA results in all Fres with no lqsFiberCurrentLossMethod. NOT query is supported. The allowed lqsFiberAvgLossStatus values: totalPower, osc, ramanTelemetry, rls",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.margin.viableAtEol",
                        "in": "query",
                        "description": "(Optional) A list of LQS margin viable at EOL states. NA results in all Fres with no lqsMarginViableEOL. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.snrStatus",
                        "in": "query",
                        "description": "(Optional) A list of LQS PPG snr states. NA results in all Fres with no lqsPpgSnrStatus. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.categorySnrReference",
                        "in": "query",
                        "description": "(Optional) A list of LQS PPG category snr reference values. NA results in all Fres with no lqsPpgCategorySnrReference. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.deltaSnrReference",
                        "in": "query",
                        "description": "(Optional) A list of LQS PPG delta snr reference values. NA results in all Fres with no lqsPpgDeltaSnrReference. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.startDeltaSnrReference",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE lqsData ppg startDeltaSnrReference",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.endDeltaSnrReference",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE lqsData ppg endDeltaSnrReference",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.totalExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth totalExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.availableExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth availableExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.unavailableExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth unavailableExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.availablePercentage",
                        "in": "query",
                        "description": "((Optional) Allow filtering on FRE restorationHealth availablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.unavailablePercentage",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth unavailablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.homeAvailable",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth homeAvailable",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.startAvailablePercentage",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth startAvailablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.endAvailablePercentage",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth endAvailablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "coroutedFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all correlated FREs that are co-routed and co-terminated with the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE tags. This parameter accepts a list of comma separated strings. NA results in all Fres with no tags. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAdminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE adminState display string. NA results in all Fres with no displayAdminState. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayOperationState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE operationState display string. NA results in all Fres with no displayOperationState. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayTopologySource",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE topologySource display string. NA results in all Fres with no displayTopologySource. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.totalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData totalCapacity. NA results in all Fres with no utilizationTotalCapacity. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.usedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData usedCapacity. NA results in all Fres with no utilizationUsedCapacity. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData utilizationPercent. NA results in all Fres with no utilizationPercent. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData startUtilizationPercent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData endUtilizationPercent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.capacityUnits",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData capacityUnits. NA results in all Fres with no utilizationCapacityUnits. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: resiliency, tdmServices, topologicalLinks, roadmLineSpan, reusableSNCG, tunnelReplacement, layer1OtuLinks, photonicSncpWorkLegs, relatedFresFull, relatedFresLight, ringsWithoutConstraints, groupedSNCDTLSET, relatedRoadmlineSeedsForIntent, fresWithSrlg, l1LinkFresForHomeRoute, l1NcpTransportServices, resiliencyFre,staticRouteL3VPN, l1NcpLinkFres, virtualRingsOnL2Motr<br><br>tunnelReplacement cannot be used in combination with other named queries<br><br>virtualRingsOnL2Motr can not be used alone, networkConstruct.Id must be provided with this named query<br><br>photonicSncpWorkLegs can not be used alone, networkConstruct.Id must be provided with this named query<br><br>relatedFresFull can not be used alone, namedQueryParam1  must be provided with this named query.<br><br>relatedFresLight can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>relatedRoadmlineSeedsForIntent can not be used alone, namedQueryParam1 must be provided with this named query<br><br>l1LinkFresForHomeRoute can not be used alone, namedQueryParam1 must be provided with this named query<br><br>resiliencyFre can not be used alone, namedQueryParam1 must be provided with this named query<br><br>groupedSNCDTLSET cannot be used in combination with other named queries and can not be used alone, namedQueryParam1  must be provided with this named query.<br><br>staticRouteL3VPN can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>l1NcpLinkFres can not be used alone, namedQueryParam1 must be provided with this named query.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "Mandatory when namedQuery relatedFresFull/relatedFresLight/relatedRoadmlineSeedsForIntent/l1LinkFresForHomeRoute/resiliencyFre/l1NcpLinkFres is used.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "relatedServices",
                        "in": "query",
                        "description": "(Optional) when namedQuery relatedFresFull. NA results in all Fres with no relatedServices. NOT query is supported. The allowed relatedServices values are: Sncp, Link diverse, Bundle diverse, Absolute diverse",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainTypes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE domainTypes. NA results in all Fres with no domainTypes. NOT query is supported. This parameter accepts a list of comma separated values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resilienceLevel",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE domainTypes. NA results in all Fres with no resilienceLevel. NOT query is supported. This parameter accepts a list of comma separated values. The allowed resilienceLevel values are: unprotected, partial, protected",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "partitionFreIds",
                        "in": "query",
                        "description": "(Optional) Retrieves all parent FREs that have the specified FRE as a partition relation. NA results in all Fres with no partitionFreIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "decomposedFreIds",
                        "in": "query",
                        "description": "(Optional) Retrieves all parent FREs that have the specified FRE as a decomposed relation. NA results in all Fres with no decomposedFreIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "facilityBypass",
                        "in": "query",
                        "description": "(Optional) Allow filtering of FRE's with facilityBypass tunnels. NA results in all Fres with no facilityBypass. The allowed facilityBypass value is: exclude",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "(Optional) The child FRE identifier to return its parents. NA results in all Fres with no childFreId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gneSubnetName",
                        "in": "query",
                        "description": "(Optional) GNE Subnet name of the FRE. NA results in all Fres with no gneSubnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "routingConstraints.inclusionConstraints.id",
                        "in": "query",
                        "description": "(Optional) Retrieves all FREs that have an inclusion constraint relationship to the specified identifier. NA results in all Fres with no routingInclusionConstraintsId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayDeploymentState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE deploymentState display string. NA results in all Fres with no displayDeploymentState. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncTags",
                        "in": "query",
                        "description": "(Optional) List of comma-separated network construct tags that is an endpoint for an FRE. NA results in all Fres with no ncTags. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayRecoveryCharacteristicsOnHome",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE resiliency controller recovery characteristics onHome display string. NA results in all Fres with no displayRecoveryCharacteristicsOnHome. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "remoteOSRPNodeName",
                        "in": "query",
                        "description": "(Optional) Allow filtering of DTLSet fres on the basis of destination osrp node name. NA results in all Fres with no remoteOSRPNodeName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "headOSRPNodeName",
                        "in": "query",
                        "description": "(Optional) Allow filtering of DTLSet fres on the basis of head osrp node name. NA results in all Fres with no headOSRPNodeName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isUsedByService",
                        "in": "query",
                        "description": "(Optional) Allow filtering of DTLSet fres on the basis of whether they are used by snc/sncg or not. NA results in all Fres with no isUsedByService. NOT query is supported. The allowed isUsedByService values are true/false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isDTLSetUsedAsRoutingConstraint",
                        "in": "query",
                        "description": "(Optional) Allow filtering of DTLSet FREs on the basis of whether they are referenced by an snc/sncg or not. NA results in all Fres with no value set. NOT query is supported. The allowed values are true/false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isOtdrCapable",
                        "in": "query",
                        "description": "(Optional) List all fres that have OTDR capable links. NA results in all Fres with no isOtdrCapable. NOT query is supported. Allowed value is true",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceTraceType",
                        "in": "query",
                        "description": "(Optional) Allow filtering of source trace type. NA results in all Fres with no source trace type. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceTraceTimestamp",
                        "in": "query",
                        "description": "(Optional) Allow filtering of source trace time stamp. NA results in all Fres with no source trace time stamp. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationTraceType",
                        "in": "query",
                        "description": "(Optional) Allow filtering of destination trace type. NA results in all Fres with no destination trace type. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationTraceTimestamp",
                        "in": "query",
                        "description": "(Optional) Allow filtering of destination trace time stamp. NA results in all Fres with no destination trace time stamp. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceOtdrcfgaId",
                        "in": "query",
                        "description": "(Optional) Allow filtering of source OTDR cfg aid. NA results in all Fres with no source OTDR cfg aid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceNcId",
                        "in": "query",
                        "description": "(Optional) Allow filtering of source NC ID. NA results in all Fres with no ssource NC ID. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationOtdrcfgaId",
                        "in": "query",
                        "description": "(Optional) Allow filtering of destination OTDR cfg aid. NA results in all Fres with no destination OTDR cfg aid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationNcId",
                        "in": "query",
                        "description": "(Optional) Allow filtering of destination NC id. NA results in all Fres with no destination NC id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isSubmarineLink",
                        "in": "query",
                        "description": "(Optional) List all fres that have isSubmarineLink. NA results in all Fres with no isSubmarineLink. NOT query is supported. Allowed value is true",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ovpnIds",
                        "in": "query",
                        "description": "List of comma separated ovpnIds (0-255). NA results in all Fres with no ovpnIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "partitioningFreIds",
                        "in": "query",
                        "description": "(Optional) Retrieves all child FREs that have the specified FRE as a partitioning relation. NA results in all Fres with no partitioningFreIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "internalStructure",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the FRE Internal Structure. This parameter accepts a list of comma separated values. NA results in all Fres with no internalStructure. NOT query is supported. The allowed internalStructure values are: SIMPLE,SIMPLE_SWITCHED,PROTECTED_ONE_END, MULTI_SIMPLE, MULTIPLE,PROTECTED_BOTH_ENDSMULTIPOINT, HUB_AND_SPOKE,EXPLICIT,INTERCONNECT_ONE_END,UNKNOWN,FULL_MESH,PARTIAL_MESH",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exportRouteTargets",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Export Route Targets",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "importRouteTargets",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Import Route Targets",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filterType",
                        "in": "query",
                        "description": "(Optional) FilterType used in case search fres based on export Route Target or Import Route Target.\nif FilterType = Both, then search fres based on importRouteTarget OR exportRouteTarget.\nelse, fres search based on importRouteTarget AND exportRouteTarget",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nativeName",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Native Name. NA results in all Fres with no nativeName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Display Name. NA results in all Fres with no displayName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "peerSNCIdentifier",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Peer SNC Identifier. NA results in all Fres with no peerSNCIdentifier. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "interfaceName/interfaceIP",
                        "in": "query",
                        "description": "(Optional) Filter support on Interface Name or Interface IP.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.averageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput averageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.startAverageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput startAverageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.endAverageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput endAverageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.maxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput maxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.startMaxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput startMaxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.endMaxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput endMaxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.ninetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput ninetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.startNinetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput startNinetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.endNinetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput endNinetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.averageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput averageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.startAverageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput startAverageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.endAverageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput endAverageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.maxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput maxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.startMaxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput startMaxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.endMaxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput endMaxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.ninetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput ninetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.startNinetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput startNinetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.endNinetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput endNinetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "completeness",
                        "in": "query",
                        "description": "(Optional) Allow filtering on type of FlexE and G8032 completeness. NA results in all Fres with no Completeness. NOT query is supported. This parameter accepts a list of comma separated values. The allowed Completeness values are: partial, complete",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "misconfigured",
                        "in": "query",
                        "description": "(Optional) Allow filtering on type of FlexE misconfigurations. This parameter accepts a list of comma separated values. The allowed misconfigured values are: true or false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationPrefix",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on destinationPrefix.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selectedRoute",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Selected Route.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "vrfName",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Vrf Name.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nextHopIp",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on NextHop Ip.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "vrfId",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Vrf Id.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "statsCollectionOperational",
                        "in": "query",
                        "description": "(Optional) Allow filtering on value of IPDATA statsCollectionOperational. NA results in all Fres with no statsCollectionOperational. NOT query is supported. This parameter accepts a list of comma separated values. The allowed statsCollectionOperational values are: partial, on, off",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dmmState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on value of IPDATA dmmState. NA results in all Fres with no dmmState. NOT query is supported. This parameter accepts a list of comma separated values. The allowed dmmState values are: enabled, disabled, partial",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slmState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on value of IPDATA slmState. NA results in all Fres with no slmState. NOT query is supported. This parameter accepts a list of comma separated values. The allowed slmState values are: enabled, disabled, partial",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "signalingType",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Signaling Type. NA results in all Fres with no signalingType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceEndPoint",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on source End Point. NA results in all Fres with no sourceEndPoint. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destEndPoint",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on destination End Point. NA results in all Fres with no destEndPoint. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bindingAllocatedSid",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on SR TE Binding Allocated Sid. NA results in all Fres with no bindingAllocatedSid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "cfmAdminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on CfmAdminState",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "color",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Color",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayServerRefreshState",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on the displayData server refresh state",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceRefresh.state",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on the server refresh state",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceRefresh.status",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on the server refresh status",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "transportPolicy",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on transportPolicy Type. NA results in all Fres with no transportPolicy. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "catalog",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on catalog. NA results in all Fres with no catalog. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srColor",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on color NA results in all Fres with no color. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fallback",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on fallback. NA results in all Fres with no fallback. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ringStatus",
                        "in": "query",
                        "description": "(Optional) Allow filtering on Status of G8032 ring. This parameter accepts a list of comma separated values: OK, Local signal failure, Local force switch, Remote signal failure, Remote force switch,Provisioning mismatch, Not receiving PDUs, No RPL owner detected, Unknown",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ringState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on State of G8032 ring. This parameter accepts a list of comma separated values: Initializing, OK, Admin disabled, Operational disabled, Protecting, Recovering, Manual switch, Force switch, Unknown",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "MetaData to be included. The allowed values are: layerRate, layerRateQualifier, signalContentType, serviceClass, sncgUserlabel, adminState, operationState, lqsData.status, lqsData.margin.valid, lqsData.fiber.reconciled, lqsData.fiber.method, lqsData.margin.viableAtEol, displayAdminState, displayOperationState, displayTopologySource, customerName, domainTypes, resilienceLevel, directionality, displayDeploymentState, ringType, ringCompleteness, displayRecoveryCharacteristicsOnHome, lqsData.ppg.snrStatus, internalStructure, lqsData.ppg.categorySnrReference, lqsData.ppg.deltaSnrReference, totalCapacity, usedCapacity, utilizationPercent, capacityUnits, restorationHealth.totalExplicitRoutes, restorationHealth.availableExplicitRoutes, restorationHealth.unavailableExplicitRoutes, restorationHealth.availablePercentage, restorationHealth.unavailablePercentage, restorationHealth.homeAvailable, remoteOSRPNodeName, headOSRPNodeName, isDTLSetUsedAsRoutingConstraint, importRouteTargets, exportRouteTargets, relatedServices, signalingType, sourceEndPoint, destEndPoint, transportPolicy, catalog, srColor, fallback, dailyThroughput.averageUtilization, dailyThroughput.maxUtilization, dailyThroughput.ninetyFifthUtilization, weeklyThroughput.averageUtilization, weeklyThroughput.maxUtilization, weeklyThroughput.ninetyFifthUtilization, remoteOSRPNodeName, headOSRPNodeName, isDTLSetUsedAsRoutingConstraint, importRouteTargets, exportRouteTargets,destinationPrefix,selectedRoute,vrfName,vrfId,nextHopIp, relatedServices, isOtdrCapable,sourceTraceType,sourceTraceTimestamp, destinationTraceType, destinationTraceTimestamp, sourceOtdrcfgaId, sourceNcId, destinationOtdrcfgaId, destinationNcId, displayServerRefreshState, nativeName, isSubmarineLink",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, networkConstructs, planned, freDiscovered, frePlanned, srlgs, supportedByFreResiliencyClientTpes, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKey=key1,key2,...&identifierValue=value1,value2,...\nFor instance:\n     ?identifierKey=nodalId&identifierValue=nodalIdValue<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"layerRate\": \"OTSi\",\n  \"directionality\": \"unidirectional\",\n  \"networkRole\": \"FREAP\",\n  \"type\": \"service\",\n  \"limit\": \"50\"\n}</code></pre>",
                "operationId": "searchPostFresV2",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE search parameters",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreSearchParamsRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/search/fres/{freId}": {
            "get": {
                "tags": [
                    "fres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "",
                "operationId": "getFreById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts, controllers, utilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/search/groups": {
            "get": {
                "tags": [
                    "groups"
                ],
                "summary": "Retrieves the Groups satisfying the query parameters",
                "description": "\nNote: <ul>1). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>2). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchGroups",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of Group identifiers to retrieve. NA results in all Groups with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search with, combined with searchText. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) Comma separated list of group names to retrieve. NA results in all Groups with no name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "groupType",
                        "in": "query",
                        "description": "(Optional) Comma separated list of groupTypes to retrieve. NA results in all Groups with no groupType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "parentGroup",
                        "in": "query",
                        "description": "(Optional) Comma separated list of parentGroups to retrieve. NA results in all Groups with no parentGroup. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed value is: groupPlanned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested Groups.",
                        "schema": {
                            "$ref": "#/definitions/GroupListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Groups.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/search/networkConstructs": {
            "get": {
                "tags": [
                    "networkConstructs"
                ],
                "summary": "Get list of discovered Network Construct(s) satisfying the query parameters",
                "description": "Discovered Network Constructs returned as a JSON list of Network Construct objects. \nNote: <ul>1). When querying using identifiers, the supported syntax is as follows: \n   ?identifierKey=key1,key2,...&identifierValue=value1,value2,... \nFor instance, \n   ?identifierKey=subnetName&identifierValue=PV0438A---PV0428D---SUBNET</ul><ul>2). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>3). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchNcs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct Ids. NA results in all NetworkConstructs with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "(Optional) List of Management Session Ids. NA results in all NetworkConstructs with no sessionId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id. NA results in all NetworkConstructs with no eqpIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id. NA results in all NetworkConstructs with no serviceIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id. NA results in all NetworkConstructs with no physicalLocationId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of device name values. NA results in all NetworkConstructs with no name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values. NA results in all NetworkConstructs with no displayName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "The identifier key list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "The identifier value list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete networkConstruct. NA results in all NetworkConstructs with no concrete. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct. NA results in all NetworkConstructs with no ipAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructType",
                        "in": "query",
                        "description": "(Optional) List of Network Construct types. NA results in all NetworkConstructs with no type. NOT query is supported. The allowed networkConstructType values are: networkElement, shelf, osrpNode",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceTypes. NA results in all NetworkConstructs with no resourceType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. NA results in all NetworkConstructs with no associationState. NOT query is supported. The allowed associationState values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "syncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. NA results in all NetworkConstructs with no syncState. NOT query is supported. The allowed syncState values are: notSynchronized, synchronizing, synchronized, failed, aborted, deleting, deleteFailed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct software versions. NA results in all NetworkConstructs with no softwareVersion. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nativeSoftwareVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct native software versions. NA results in all NetworkConstructs with no nativeSoftwareVersion. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displaySyncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. NA results in all NetworkConstructs with no displaySyncState. NOT query is supported. The allowed displaySyncState values are: planned, notSynchronized, synchronizing, synchronized, failed, pending, deleting",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayInventorySyncFailureReason",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct inventory sync failure reasons. NA results in all NetworkConstructs with no displayInventorySyncFailureReason. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayResourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceStates. NA results in all NetworkConstructs with no displayResourceState. NOT query is supported. The allowed displayResourceState values are: root, planned, discovered, unknown",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAssociationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. NA results in all NetworkConstructs with no displayAssociationState. NOT query is supported. The allowed displayAssociationState values are: Connected, Not connected",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subnetName",
                        "in": "query",
                        "description": "(Optional) The subnet name list. NA results in all NetworkConstructs with no subnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "macAddress",
                        "in": "query",
                        "description": "(Optional) macAddress parameter used to filter results. NA results in all NetworkConstructs with no macAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct typeGroups. NA results in all NetworkConstructs with no typeGroup. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slteType",
                        "in": "query",
                        "description": "(Optional)  slteType parameter used to filter results. NA results in all NetworkConstructs with no slteType. NOT query is supported. The allowed slteType value: SLTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ssteType",
                        "in": "query",
                        "description": "(Optional)  ssteType parameter used to filter spectrum sharing terminal network element. NA results in all NetworkConstructs with no ssteType. NOT query is supported. The allowed ssteType value: SSTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) List of resourcePartitionInfo",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "(Optional) Allow filtering on NC tags. NA results in all NetworkConstructs with no tags. NOT query is supported. This parameter accepts a list of comma separated strings",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "rrConfigured",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct based on BGP RRConfiguration. NA results in all NetworkConstructs with no rrConfigured. NOT query is supported. The allowed rrConfigured values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: OADMCapabilityNodes, OADMCapabilityNodesV2, networkConstructsWithSrlg, networkConstructsWithShareSrlg, l1ControlPlaneNodes, lookupNetworkConstructsByName, networkConstructsWithNativeMPLS",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "namedQueryParam1 must be provided for namedQuery: lookupNetworkConstructsByName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "geoDistanceQuery",
                        "in": "query",
                        "description": "(Optional) Filters on distance from a specified location; the Geo distance query is formatted as follows: <distance>:<latitude>:<longitude>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifier",
                        "in": "query",
                        "description": "(Optional) Association state qualifier. NA results in all NetworkConstructs with no associationStateQualifier. NOT query is supported. The allowed associationStateQualifier values are: MANUAL, SYSTEM, NETWORK",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) List of srlg values separated by comma. NA results in all NetworkConstructs with no srlg. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site ID for the networkConstruct. NA results in all NetworkConstructs with no siteId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteName",
                        "in": "query",
                        "description": "(Optional) SiteName for the networkConstruct. NA results in all NetworkConstructs with no siteName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "prefixSid",
                        "in": "query",
                        "description": "(Optional) PrefixSid. NA results in all NetworkConstructs with no prefixSid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "loopbackAddresses",
                        "in": "query",
                        "description": "(Optional) List of LoopbackAddresses. NA results in all NetworkConstructs with no loopbackAddresses. NOT query is supported.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, syncState, networkConstructType, resourceState, softwareVersion, nativeSoftwareVersion, displaySyncState, displayResourceState, displayAssociationState, tags, subnetName, associationStateQualifier, resourcePartitionInfo, equippedSlot.utilizationTotalCapacity, equippedSlot.utilizationUsedCapacity, equippedSlot.utilizationPercent, equippedPluggable.utilizationTotalCapacity, equippedPluggable.utilizationUsedCapacity, equippedPluggable.utilizationPercent, inUseByServiceSlot.utilizationTotalCapacity, inUseByServiceSlot.utilizationUsedCapacity, inUseByServiceSlot.utilizationPercent, inUseByServicePluggable.utilizationTotalCapacity, inUseByServicePluggable.utilizationUsedCapacity, inUseByServicePluggable.utilizationPercent, networkConstructName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaLimit",
                        "in": "query",
                        "description": "(Optional) Size of metadata returned",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, networkConstructDiscovered, networkConstructPlanned, srlgs, utilization, timing",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Constructs",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve all network elements"
                    },
                    "500": {
                        "description": "Retrieval of network constructs failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/search/srlgAutoAssignableResources": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Retrieves the entities satisfying the query parameters",
                "description": "List of assignable entities returned in JSON format.<ul><li>Entity Type i.e. fres,networkConstructs,equipments<li>riskType (RiskTypes can be found from : GET /nsi/api/srlgformat/srlgFormatMappings?type=riskType)</ul>",
                "operationId": "getSrlgAssignableEntities",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "entityType",
                        "in": "query",
                        "description": "entityType i.e. fres,networkConstructs,equipments",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "riskType",
                        "in": "query",
                        "description": "RiskType defined as in SrlgFormat",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructId",
                        "in": "query",
                        "description": "Id of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page.",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested assignable entities.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the assignable entities.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/search/tpes": {
            "get": {
                "tags": [
                    "tpes"
                ],
                "summary": "Retrieves the TPEs satisfying the query parameters",
                "description": "The following search paths are not supported for the searchFields query parameter:<ul><li>data.attributes.tpeSpec<li>data.attributes.tpeGroupSpecs<li>data.attributes.locations.loc_oid<li>data.attributes.capacityReservations.*<li>data.attributes.syncScopes.*<li>data.relationships.networkConstructAssociation.data.id</ul><p>Specifying a path for the searchFields parameter of an attribute in the following objects will search the parent object for the value specified in searchText: adjacencyPackage, powerPackage, photonicSpectrumPackage, and signalIndex.<p>To specify an expectation path for the searchFields parameter use the prefix \"data.relationships.tpeExpectations.data.*\"<ul></ul>Note: <ul>1). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n        etc</ul>\n *NOT, OR, AND keywords are case-insensitive\n *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>2). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchTpes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE identifiers to retrieve. NA results in all Tpes with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name) Fields not supported under this filter are `data.attributes.layerTerminations.layerProtocol.*`",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: ptpEthernetNoClients, portsEthernetAvailableAll, portsL2AvailableAll, portsL2ApplicableEPLUni, portsL2ApplicableEVPLUni, portsL2ApplicableEnni, portsL2ApplicableEPLUniWithMcLag, portsL2ApplicableEVPLUniWithMcLag, portsL2ApplicableEnniWithMcLag, portsTunnelsL2ApplicableAll, ipInterfacesL2ApplicableIpLink, portsTunnelsL2ApplicableAllWithFtpIpData, portsTDMCEApplicableAll, channelTxPorts, channelRxPorts, linePorts, tpesWithSrlg, matedTpes, tpesLookupByName, l1OsrpLinkHomeRouteTpes <br><br>l1OsrpLinkHomeRouteTpes must be provided with , namedQueryParam1(Transport Client ID)<br><br>matedTpes cannot be used in combination with other named queries and can not be used alone, namedQueryParam1(tpeId),namedQueryParam2(Allowed values can be CHANNEL/OTN_ACCESS) and namedQueryParam3(Allowed values can be Working/Protect) must be provided with this named query.esiId must be provided with , namedQueryParam1(name to be searched upon)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "First param to be used by defined namedQuery.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam2",
                        "in": "query",
                        "description": "Second param to be used by defined namedQuery.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam3",
                        "in": "query",
                        "description": "Third param to be used by defined namedQuery.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. NA results in all Tpes with no ncId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalNeName",
                        "in": "query",
                        "description": "(Optional) Network Construct name. NA results in all Tpes with no NC name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "(Optional) The comma separated identifier value set",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete tpe. NA results in all Tpes with no concreteId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bookingData.lockout",
                        "in": "query",
                        "description": "(Optional)  Flag that enables/disables a link from having additional tunnel BW being consumed. NA results in all Tpes with no bwLockout. NOT query is supported. The allowed bwLockout values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "(optional) The layerRate. When combined with the adjacencyType queryParam, only looks for thespecified list of adjacencyTypes within the specified layerRate.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "adjacencyType",
                        "in": "query",
                        "description": "(optional) The adjacencyType. When combined with the layerRate queryParam, only looks for thespecified list of adjacencyTypes within the specified layerRate.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "(Optional) The active state of the resource. NA results in all Tpes with no active. NOT query is supported. The allowed active values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "content",
                        "in": "query",
                        "description": "(Optional) The TPE content level",
                        "required": false,
                        "type": "string",
                        "default": "detail",
                        "enum": [
                            "summary",
                            "detail"
                        ]
                    },
                    {
                        "name": "location",
                        "in": "query",
                        "description": "(Optional) TPE location delimited by dashes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "locationFormat",
                        "in": "query",
                        "description": "(Optional) Format for the given location; when not given, assume location is [[shelf-]slot-]port",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "structureType",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE structure types. NA results in all Tpes with no structureType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentId",
                        "in": "query",
                        "description": "(Optional) Equipment identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id. NA results in all Tpes with no eqpIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id. NA results in all Tpes with no serviceIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.intent.id",
                        "in": "query",
                        "description": "(Optional) The intent id. NA results in all Tpes with no intentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.intent.type",
                        "in": "query",
                        "description": "(Optional) The intent type. NA results in all Tpes with no intentType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) List of srlg values separated by comma. NA results in all Tpes with no srlg. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional)IP Address. NA results in all Tpes with no ipAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "esiId",
                        "in": "query",
                        "description": "(Optional) Esi Id. Present in Ethernet Segment data in EVPN VPWS service.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gneSubnetName",
                        "in": "query",
                        "description": "(Optional) GNE Subnet name of the TPE. NA results in all Tpes with no gneSubnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: stackDirection, layerRate, state, cardType, structureType, structureSubType, resourceState",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, tpePlanned, tpeDiscovered, concrete, networkConstructs, srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subslot",
                        "in": "query",
                        "description": "(Optional) Subslot ([shelf]-[slot]-[subslot]-[port]) value . Use with tdmLayerRatewithpacketiwfList namedQuery ",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/TpeListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/search/equipment": {
            "get": {
                "tags": [
                    "equipment"
                ],
                "summary": "Retrieves the equipment satisfying the query parameters",
                "description": "List of equipment returned in JSON format.\nNote: <ul>1). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>2). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchEquipmentV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) List of equipment Ids. NA results in all Equipments with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentName",
                        "in": "query",
                        "description": "(Optional) List of equipment Names.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.siteName). If provided, must also provide searchText parameter",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of resource states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "networkConstruct.name",
                        "in": "query",
                        "description": "(Optional) Network Construct name. NA results in all Equipments with no NC name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalNeName",
                        "in": "query",
                        "description": "(Optional) Network Construct name. NA results in all Equipments with no NC name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. NA results in all Equipments with no NC id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipped.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByService.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on equipment used by service end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "services.utilizationServiceTotal",
                        "in": "query",
                        "description": "(Optional) Allow filtering on total of Transport and Packet services using the equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "services.utilizationInfrastructureTotal",
                        "in": "query",
                        "description": "(Optional) Allow filtering on total of Transport and Packet Infrastructure using the equipment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier. NA results in all Equipments with no intent id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site Identifier for equipment. NA results in all Equipments with no site id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment states. NA results in all Equipments with no state. NOT query is supported. The allowed state values are: IS, OOS, OOS_AU, OOS_MA, OOS_AUMA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayState",
                        "in": "query",
                        "description": "(Optional) List of equipment displayState values. NA results in all Equipments with no display state. NOT query is supported. The allowed displayState values are: IS, OOS, OOS-AU, OOS-MA, OOS-AUMA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "shelf",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment shelves. NA results in all Equipments with no shelf. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slot",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment slots. NA results in all Equipments with no slot. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subSlot",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment sub-slots. NA results in all Equipments with no subslot. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subsubSlot",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment sub-sub-slots. NA results in all Equipments with no subsubslot. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subShelf",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment sub-shelves. NA results in all Equipments with no subshelf. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "availabilityState",
                        "in": "query",
                        "description": "(Optional) List of Equipment availabilityState. NA results in all Equipments with no availabilityState. NOT query is supported. The allowed availabilityState values are: PLANNED, AVAILABLE, UNVALIDATED, INUSE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAvailabilityState",
                        "in": "query",
                        "description": "(Optional) List of equipment displayAvailabilityState values.NA results in all Equipments with no displayAvailabilityState. NOT query is supported.  The allowed displayAvailabilityState values are: Planned, Unvalidated, Available, In use",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "reservationState",
                        "in": "query",
                        "description": "(Optional) List of Equipment reservationState. NA results in all Equipments with no reservationState. NOT query is supported. The allowed reservationState values are: Unknown, Not reserved, Reserved for maintenance, Reserved for facility, Reserved for reversion",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "maintenanceMode",
                        "in": "query",
                        "description": "(Optional) List of Equipment maintenanceMode. NA results in all Equipments with no maintenanceMode. NOT query is supported.  The allowed maintenanceMode values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "cardType",
                        "in": "query",
                        "description": "(Optional) List of Equipment cardType. NA results in all Equipments with no cardType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "provisionedSpec.partNumber",
                        "in": "query",
                        "description": "(Optional) List of Equipment provisionedSpec.partNumber. NA results in all Equipments with no provisionedSpecPartNumber. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "specificationMismatch",
                        "in": "query",
                        "description": "(Optional) List of Equipment specificationMismatch. NA results in all Equipments with no specificationMismatch. NOT query is supported. The allowed specificationMismatch values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "category",
                        "in": "query",
                        "description": "(Optional) List of Equipment category. NA results in all Equipments with no category. NOT query is supported. The allowed category values are: rack, shelf, pluggable, standalone",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "neContactState",
                        "in": "query",
                        "description": "(Optional) List of neContactState. NA results in all Equipments with no neContactState. NOT query is supported. The allowed neContactState values are: IN, OUT",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.macAddress",
                        "in": "query",
                        "description": "(Optional) Network Construct macAddress. NA results in all Equipments with no ncMacAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.subnetName",
                        "in": "query",
                        "description": "(Optional) Network Construct subnetName. NA results in all Equipments with no ncSubnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "projectName",
                        "in": "query",
                        "description": "(Optional) Project name. NA results in all Equipments with no projectName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) List of srlg values separated by comma. NA results in all Equipments with no srlg. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "secondaryState",
                        "in": "query",
                        "description": "(Optional) List of secondary state.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serial",
                        "in": "query",
                        "description": "(Optional) List of serial.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "customer",
                        "in": "query",
                        "description": "(Optional) List of customer.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: equipmentsWithSrlg, equipmentsLookupByName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "namedQueryParam1 must be provided for namedQuery: equipmentsLookupByName, equipmentsLookupByName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: specificationMismatch, state, availabilityState, reservationState, maintenanceMode, cardType, category, ncMacAddress, ncSubnetName, projectName, displayAvailabilityState, displayState, equipped.utilizationTotalCapacity, equipped.utilizationUsedCapacity, equipped.utilizationPercent, inUseByService.utilizationTotalCapacity, inUseByService.utilizationUsedCapacity, inUseByService.utilizationPercent, services.utilizationServiceTotal, services.utilizationInfrastructureTotal, shelf, subShelf, slot, subSlot, subsubSlot, equipmentName, secondaryState, provisionedSpec.partNumber, provisionedSpec.serialNumber, customer",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaLimit",
                        "in": "query",
                        "description": "(Optional) Size of metadata returned",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, planned, discovered, networkConstructs, srlgss, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested equipment.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/search/equipmentGroups": {
            "get": {
                "tags": [
                    "equipmentGroups"
                ],
                "summary": "Retrieves equipment groups satisfying the provided parameters",
                "description": "\nNote: <ul>1). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>2). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchEquipmentGroupsV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of Equipment group identifiers to retrieve. NA results in all EquipmentGroups with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. NA results in all EquipmentGroups with no ncId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) Equipment group name. NA results in all EquipmentGroups with no name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "(Optional) List of Equipment group type. NA results in all EquipmentGroups with no type. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subType",
                        "in": "query",
                        "description": "(Optional) List of Equipment group sub type. NA results in all EquipmentGroups with no subType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipment.id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of equipment identifiers. NA results in all EquipmentGroups with no equipmentIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentGroupExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) Equipment Intent Identifier. NA results in all EquipmentGroups with no intentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of resource states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: type, subType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, networkConstructs, discovered, planned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGroupListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query param was specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the equipment groups with given query parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/search/fres": {
            "get": {
                "tags": [
                    "fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKey=key1,key2,...&identifierValue=value1,value2,...\nFor instance:\n     ?identifierKey=nodalId&identifierValue=nodalIdValue",
                "operationId": "searchFresV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of FRE identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text, (default search Fields are name, layerRate, tpeLocations if searchFields is not specified.)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search with, combined with searchText. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of fre planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "FRE layer rates in comma separated list The allowed values are: ETHERNET, OTU1, OTU2, OTU2e, OTU3, OTU4, OTUCn, OTSi, OMS, OS, PHY, OTS, FICON, FC, ODU, ODU0, ODU1, ODU2, ODU2e, ODU3, ODU4, ODUCn, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET, ENCAPSULATION, MPLS, MPLS_PROTECTION, MEDIA, LAG, RS, E1, E3, E1_2M, EC1, DSR_2M, LINE_OC3_STS3_AND_MS_STM1, SECTION_OC3_STS3_AND_RS_STM1, DSR_OC3_STM1, DSR_OC12_STM4, DSR_OC48_STM16, DSR_OC192_STM64, CES_IWF, T1, DSR_1_5M, STS1, STS3C, STS12C, STS24C, STS48C, DS0, DS1, DS3, VT15, VT2, NOT_APPLICABLE, ODUFLEX, OTUg, ODUg, BGP",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Comma-Separated Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.idQualifier",
                        "in": "query",
                        "description": "(Optional) The logical operator to use when searching Network Construct identifiers",
                        "required": false,
                        "type": "string",
                        "default": "or",
                        "enum": [
                            "or",
                            "and"
                        ]
                    },
                    {
                        "name": "tpeId",
                        "in": "query",
                        "description": "(Optional) Comma separated TPE identifiers for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeIdQualifier",
                        "in": "query",
                        "description": "(Optional) The logical operator to use when searching tpeIds",
                        "required": false,
                        "type": "string",
                        "default": "or",
                        "enum": [
                            "or",
                            "and"
                        ]
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) List of concrete FRE identifiers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bookingData.lockout",
                        "in": "query",
                        "description": "(Optional)  Flag that enables/disables a link from having additional tunnel BW being consumed",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "description": "(Optional, Deprecated) FRE group :<ul><li>dwa for all FREs in OTU4 and all top level FREs in ETHERNET, DSR, DSR_ETHERNET, OTSi(OCH), ODU2, ODU4, ODUCn, OTUCn<li>infrastructure for all FRE-APs representing forwarding constructs between ROADM OTS'<li>packet for all L2 nodal and top level FREs in ETHERNET including infrastructure</ul>",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "dwa",
                            "infrastructure",
                            "packet",
                            "packet_infrastructure",
                            "tdm"
                        ]
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "FRE types in comma separated list The allowed values are: explicitRoute, explicitRouteGroup, snc, sncGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "userLabel",
                        "in": "query",
                        "description": "User label",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "managementName",
                        "in": "query",
                        "description": "Management Name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) Find roadmlines by srlg values separated by comma. A roadmline is a FRE between two SAM cards.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "deploymentState",
                        "in": "query",
                        "description": "(Optional) deploymentState parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "(Optional) The active state of the resource",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "directionality",
                        "in": "query",
                        "description": "(Optional) Indicates if unidirectional or bidirectional FREs should be returned",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "unidirectional",
                            "bidirectional"
                        ]
                    },
                    {
                        "name": "networkRole",
                        "in": "query",
                        "description": "(Optional) Determines if the FRE participates in an internal or external forwarding view or involves access points or connection points",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "IFRE",
                            "FREAP",
                            "FREhAP",
                            "ROADMLINE",
                            "IFRECP"
                        ]
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "FRE types in comma separated list. The allowed values are: service, link, roadmline-ap, roadmline",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceClass",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the FRE service class. This parameter accepts a list of comma separated values. The allowed values are: EVC, ETransit, EAccess, VLAN, TDM, Transport Client, Photonic, Tunnel, IP, LLDP, LAG, OTU, ROADM Line, Fiber, SNC , OSRP Link, OSRP Line, SNCP, ICL, BGP Session",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRateQualifier",
                        "in": "query",
                        "description": "(Optional) Indicates additional qualification information for a LayerRate. For example, for beyond 100G rates (e.g. OTUCn, ODUCn), defines the n multiplier, or the n-M subrate value.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportedByFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all supported parent FREs (default is one serviceClass/layer level up) that have a serviceClass designation for the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportedByQualifier",
                        "in": "query",
                        "description": "(Optional) Used in conjunction with supportedByFreId and controls if only one-level (default) or all parent FREs with a serviceClass are returned",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "one",
                            "all"
                        ]
                    },
                    {
                        "name": "supportingFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all supporting child FREs (one serviceClass/layer level down) that have a serviceClass designation for the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "customerName",
                        "in": "query",
                        "description": "(Optional) Search for an exact match on customerName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sncgUserlabel",
                        "in": "query",
                        "description": "(Optional) For Control Plane SNCs only: Retrieves all SNCs provided the parent SNCG userLabel",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tunnelType",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE Tunnel class service. This parameter accepts a list of comma separated values: dynamic, static",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "adminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE adminState. This parameter accepts a list of comma separated values: enabled, disabled, not applicable, In Service, Out of Service",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "operationState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE operationState. This parameter accepts a list of comma separated values: fully operating, not operating, degraded operation, Not Applicable, Undetermined, In Service, Degraded, Out of Service External, Out of Service",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.status",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS status. This parameter accepts a list of comma separated values",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "good",
                            "high",
                            "low",
                            "upgrade"
                        ]
                    },
                    {
                        "name": "lqsData.margin.valid",
                        "in": "query",
                        "description": "(Optional) The LQS margin validity state",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "lqsData.fiber.reconciled",
                        "in": "query",
                        "description": "(Optional) The LQS fiber reconciled state",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "lqsData.fiber.method",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS fiber method. This parameter accepts a list of comma separated values",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "totalPower",
                            "osc"
                        ]
                    },
                    {
                        "name": "lqsData.margin.viableAtEol",
                        "in": "query",
                        "description": "(Optional) A list of LQS margin viable at EOL states",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "coroutedFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all correlated FREs that are co-routed and co-terminated with the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE tags. This parameter accepts a list of comma separated strings",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAdminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE adminState display string",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayOperationState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE operationState display string",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayTopologySource",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE topologySource display string",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: resiliency, tdmServices, topologicalLinks, roadmLineSpan, reusableSNCG",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainTypes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE domainTypes. This parameter accepts a list of comma separated values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resilienceLevel",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE domainTypes. This parameter accepts a list of comma separated values: unprotected, partial, protected",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "partitionFreIds",
                        "in": "query",
                        "description": "(Optional) Retrieves all parent FREs that have the specified FRE as a partition relation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "decomposedFreIds",
                        "in": "query",
                        "description": "(Optional) Retrieves all parent FREs that have the specified FRE as a decomposed relation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "facilityBypass",
                        "in": "query",
                        "description": "(Optional) Allow filtering of FRE's with facilityBypass tunnels.",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "exclude"
                        ]
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "(Optional) The child FRE identifier to return its parents",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gneSubnetName",
                        "in": "query",
                        "description": "(Optional) GNE Subnet name of the FRE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "MetaData to be included. The allowed values are: layerRate, layerRateQualifier, signalContentType, serviceClass, sncgUserlabel, adminState, operationState, lqsData.status, lqsData.margin.valid, lqsData.fiber.reconciled, lqsData.fiber.method, lqsData.margin.viableAtEol, displayAdminState, displayOperationState, displayTopologySource, customerName, domainTypes, resilienceLevel, directionality",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, networkConstructs, planned, freDiscovered, frePlanned, srlgs, supportedByFreResiliencyClientTpes",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v1/search/fres/{freId}": {
            "get": {
                "tags": [
                    "fres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "",
                "operationId": "getFreByIdV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts, controllers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v1/search/groups": {
            "get": {
                "tags": [
                    "groups"
                ],
                "summary": "Retrieve a list of Groups provided with the satisfying parameters",
                "description": "\nNote: <ul>1). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>2). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "getGroups",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of Group identifiers to retrieve. NA results in all Groups with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search with, combined with searchText. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) Comma separated list of group names to retrieve. NA results in all Groups with no name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "groupType",
                        "in": "query",
                        "description": "(Optional) Comma separated list of groupTypes to retrieve. NA results in all Groups with no groupType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "parentGroup",
                        "in": "query",
                        "description": "(Optional) Comma separated list of parentGroups to retrieve. NA results in all Groups with no parentGroup. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed value is: groupPlanned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of Groups.",
                        "schema": {
                            "$ref": "#/definitions/GroupListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the Groups with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/search/networkConstructs": {
            "get": {
                "tags": [
                    "networkConstructs"
                ],
                "summary": "Get list of discovered Network Construct(s) satisfying the query parameters",
                "description": "Discovered Network Constructs returned as a JSON list of Network Construct objects. \nNote: <ul>1). When querying using identifiers, the supported syntax is as follows: \n   ?identifierKey=key1,key2,...&identifierValue=value1,value2,... \nFor instance, \n   ?identifierKey=subnetName&identifierValue=PV0438A---PV0428D---SUBNET</ul><ul>2). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>3). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchNcsV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct Ids. NA results in all NetworkConstructs with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "(Optional) List of Management Session Ids. NA results in all NetworkConstructs with no sessionId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id. NA results in all NetworkConstructs with no eqpIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id. NA results in all NetworkConstructs with no serviceIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id. NA results in all NetworkConstructs with no physicalLocationId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of device name values. NA results in all NetworkConstructs with no name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values. NA results in all NetworkConstructs with no displayName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "The identifier key list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "The identifier value list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete networkConstruct. NA results in all NetworkConstructs with no concrete. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct. NA results in all NetworkConstructs with no ipAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructType",
                        "in": "query",
                        "description": "(Optional) List of Network Construct types. NA results in all NetworkConstructs with no type. NOT query is supported. The allowed networkConstructType values are: networkElement, shelf, osrpNode, manual, branchingUnit, submarineRepeater, foreignNode",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceTypes. NA results in all NetworkConstructs with no resourceType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. NA results in all NetworkConstructs with no associationState. NOT query is supported. The allowed associationState values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "syncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. NA results in all NetworkConstructs with no syncState. NOT query is supported. The allowed syncState values are: notSynchronized, synchronizing, synchronized, failed, timeout, aborted, deleting, deleteFailed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct software versions. NA results in all NetworkConstructs with no softwareVersion. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displaySyncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. NA results in all NetworkConstructs with no displaySyncState. NOT query is supported. The allowed displaySyncState values are: planned, notSynchronized, synchronizing, synchronized, failed, pending, deleting, timeout",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayInventorySyncFailureReason",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct inventory sync failure reasons. NA results in all NetworkConstructs with no displayInventorySyncFailureReason. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayResourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. NA results in all NetworkConstructs with no displayResourceState. NOT query is supported. The allowed displayResourceState values are: root, planned, discovered, unknown",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAssociationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. NA results in all NetworkConstructs with no displayAssociationState. NOT query is supported. The allowed displayAssociationState values are: Connected, Not connected",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subnetName",
                        "in": "query",
                        "description": "(Optional) The subnet name list. NA results in all NetworkConstructs with no subnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "macAddress",
                        "in": "query",
                        "description": "(Optional) macAddress parameter used to filter results. NA results in all NetworkConstructs with no macAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct typeGroups NA results in all NetworkConstructs with no typeGroup. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slteType",
                        "in": "query",
                        "description": "(Optional)  slteType parameter used to filter results. NA results in all NetworkConstructs with no slteType. NOT query is supported. The allowed slteType value: SLTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ssteType",
                        "in": "query",
                        "description": "(Optional)  ssteType parameter used to filter spectrum sharing terminal network element. NA results in all NetworkConstructs with no ssteType. NOT query is supported. The allowed ssteType value: SSTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) List of resourcePartitionInfo",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "(Optional) Allow filtering on NC tags. NA results in all NetworkConstructs with no tags. NOT query is supported. This parameter accepts a list of comma separated strings",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "rrConfigured",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct based on BGP RRConfiguration. NA results in all NetworkConstructs with no rrConfigured. NOT query is supported. The allowed rrConfigured values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: OADMCapabilityNodes, OADMCapabilityNodesV2, networkConstructsWithSrlg, networkConstructsWithShareSrlg, l1ControlPlaneNodes, lookupNetworkConstructsByName, networkConstructsWithNativeMPLS",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "namedQueryParam1 must be provided for namedQuery: lookupNetworkConstructsByName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "geoDistanceQuery",
                        "in": "query",
                        "description": "(Optional) Filters on distance from a specified location; the Geo distance query is formatted as follows: <distance>:<latitude>:<longitude>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifier",
                        "in": "query",
                        "description": "(Optional) Association state qualifier. NA results in all NetworkConstructs with no associationStateQualifier. NOT query is supported. The allowed associationStateQualifier values are: MANUAL, SYSTEM, NETWORK",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) List of srlg values separated by comma. NA results in all NetworkConstructs with no srlg. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site ID for the networkConstruct. NA results in all NetworkConstructs with no siteId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteName",
                        "in": "query",
                        "description": "(Optional) SiteName for the networkConstruct. NA results in all NetworkConstructs with no siteName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "prefixSid",
                        "in": "query",
                        "description": "(Optional) PrefixSid. NA results in all NetworkConstructs with no prefixSid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, syncState, networkConstructType, resourceState, softwareVersion, displaySyncState, displayResourceState, displayAssociationState, tags, subnetName, associationStateQualifier, resourcePartitionInfo, equippedSlot.utilizationTotalCapacity, equippedSlot.utilizationUsedCapacity, equippedSlot.utilizationPercent, equippedPluggable.utilizationTotalCapacity, equippedPluggable.utilizationUsedCapacity, equippedPluggable.utilizationPercent, inUseByServiceSlot.utilizationTotalCapacity, inUseByServiceSlot.utilizationUsedCapacity, inUseByServiceSlot.utilizationPercent, inUseByServicePluggable.utilizationTotalCapacity, inUseByServicePluggable.utilizationUsedCapacity, inUseByServicePluggable.utilizationPercent, networkConstructName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaLimit",
                        "in": "query",
                        "description": "(Optional) Size of metadata returned",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, networkConstructDiscovered, networkConstructPlanned, srlgs, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Constructs",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve all network elements"
                    },
                    "500": {
                        "description": "Retrieval of network constructs failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/search/srlgAutoAssignableResources": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Retrieves the entities satisfying the query parameters",
                "description": "List of assignable entities returned in JSON format.<ul><li>Entity Type i.e. fres,networkConstructs,equipments<li>riskType (RiskTypes can be found from : GET /nsi/api/srlgformat/srlgFormatMappings?type=riskType)</ul>",
                "operationId": "getSrlgAssignableEntities",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "entityType",
                        "in": "query",
                        "description": "entityType i.e. fres,networkConstructs,equipments",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "riskType",
                        "in": "query",
                        "description": "RiskType defined as in SrlgFormat",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructId",
                        "in": "query",
                        "description": "Id of NetworkConstruct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page.",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested assignable entities.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the assignable entities.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/search/tpes": {
            "get": {
                "tags": [
                    "tpes"
                ],
                "summary": "Retrieves the TPEs satisfying the query parameters",
                "description": "The following search paths are not supported for the searchFields query parameter:<ul><li>data.attributes.tpeSpec<li>data.attributes.tpeGroupSpecs<li>data.attributes.locations.loc_oid<li>data.attributes.capacityReservations.*<li>data.attributes.syncScopes.*<li>data.relationships.networkConstructAssociation.data.id</ul><p>Specifying a path for the searchFields parameter of an attribute in the following objects will search the parent object for the value specified in searchText: adjacencyPackage, powerPackage, photonicSpectrumPackage, and signalIndex.<p>To specify an expectation path for the searchFields parameter use the prefix \"data.relationships.tpeExpectations.data.*\"<ul></ul>Note: <ul>1). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n        etc</ul>\n *NOT, OR, AND keywords are case-insensitive\n *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>2). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchTpesV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE identifiers to retrieve. NA results in all Tpes with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name) Fields not supported under this filter are `data.attributes.layerTerminations.layerProtocol.*`",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: ptpEthernetNoClients, portsEthernetAvailableAll, portsL2AvailableAll, portsL2ApplicableEPLUni, portsL2ApplicableEVPLUni, portsL2ApplicableEnni, portsL2ApplicableEPLUniWithMcLag, portsL2ApplicableEVPLUniWithMcLag, portsL2EthAndFlexeportsL2ApplicableEnniWithMcLag, portsTunnelsL2ApplicableAll, ipInterfacesL2ApplicableIpLink,  portsTunnelsL2ApplicableAllWithFtpIpData, portsTDMCEApplicableAll, channelTxPorts, channelRxPorts, linePorts, matedTpes, tpesWithSrlg, tpesWithShareSrlg, tpesLookupByName, l1OsrpLinkHomeRouteTpes<br><br>tpesLookupByName must be provided with , namedQueryParam1(name to be searched upon)l1OsrpLinkHomeRouteTpes must be provided with , namedQueryParam1(Transport Client ID)<br><br>matedTpes cannot be used in combination with other named queries and can not be used alone, namedQueryParam1(tpeId),namedQueryParam2(Values are CHANNEL/OTN_ACCESS) and namedQueryParam3(Values are Working/Protect) must be provided with this named query.<br><br>evpnId must be provided with , namedQueryParam1(name to be searched upon)<br><br>esiId must be provided with , namedQueryParam1(name to be searched upon)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "First param to be used by defined namedQuery.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam2",
                        "in": "query",
                        "description": "Second param to be used by defined namedQuery.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam3",
                        "in": "query",
                        "description": "Third param to be used by defined namedQuery.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. NA results in all Tpes with no ncId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalNeName",
                        "in": "query",
                        "description": "(Optional) Network Construct name. NA results in all Tpes with no NC name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "(Optional) The comma separated identifier value set",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete tpe. NA results in all Tpes with no concreteId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bookingData.lockout",
                        "in": "query",
                        "description": "(Optional)  Flag that enables/disables a link from having additional tunnel BW being consumed. NA results in all Tpes with no bwLockout. NOT query is supported. The allowed bwLockout values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "(optional) The layerRate. When combined with the adjacencyType queryParam, only looks for thespecified list of adjacencyTypes within the specified layerRate.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "adjacencyType",
                        "in": "query",
                        "description": "(optional) The adjacencyType. When combined with the layerRate queryParam, only looks for thespecified list of adjacencyTypes within the specified layerRate.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "(Optional) The active state of the resource. NA results in all Tpes with no active. NOT query is supported. The allowed active values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "content",
                        "in": "query",
                        "description": "(Optional) The TPE content level",
                        "required": false,
                        "type": "string",
                        "default": "detail",
                        "enum": [
                            "summary",
                            "detail"
                        ]
                    },
                    {
                        "name": "location",
                        "in": "query",
                        "description": "(Optional) TPE location delimited by dashes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "locationFormat",
                        "in": "query",
                        "description": "(Optional) Format for the given location; when not given, assume location is [[shelf-]slot-]port",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "structureType",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE structure types. NA results in all Tpes with no structureType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentId",
                        "in": "query",
                        "description": "(Optional) Equipment identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id. NA results in all Tpes with no eqpIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id. NA results in all Tpes with no serviceIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.intent.id",
                        "in": "query",
                        "description": "(Optional) The intent id. NA results in all Tpes with no intentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.intent.type",
                        "in": "query",
                        "description": "(Optional) The intent type. NA results in all Tpes with no intentType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gneSubnetName",
                        "in": "query",
                        "description": "(Optional) GNE Subnet name of the TPE. NA results in all Tpes with no gneSubnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) List of srlg values separated by comma. NA results in all Tpes with no srlg. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address. NA results in all Tpes with no ipAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "esiId",
                        "in": "query",
                        "description": "(Optional) Esi Id. Present in Ethernet Segment data in EVPN VPWS service.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: stackDirection, layerRate, state, cardType, structureType, structureSubType, resourceState",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, tpePlanned, tpeDiscovered, concrete, networkConstructs, srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subslot",
                        "in": "query",
                        "description": "(Optional) Subslot ([shelf]-[slot]-[subslot]-[port]) value . Use with tdmLayerRatewithpacketiwfList namedQuery ",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/TpeListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2/search/fres": {
            "get": {
                "tags": [
                    "fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "\nNote: <ul>1). When querying by identifiers, the supported syntax is as follows:\n     ?identifierKey=key1,key2,...&identifierValue=value1,value2,...\nFor instance:\n     ?identifierKey=nodalId&identifierValue=nodalIdValue</ul><ul>2). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>3). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchFresV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of FRE identifiers to retrieve. NA results in all Fres with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text, (default search Fields are name, layerRate, tpeLocations if searchFields is not specified.)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search with, combined with searchText. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of fre planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "FRE layer rates in comma separated. NA results in all Fres with no layerRate. NOT query is supported. list. The allowed layerRate values are: ETHERNET, OTU1, OTU2, OTU2e, OTU3, OTU4, OTUCn, OTSi, OMS, OS, PHY, OTS, FICON, FC, ODU, ODU0, ODU1, ODU2, ODU2e, ODU3, ODU4, ODUCn, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET, ENCAPSULATION, MPLS, MPLS_PROTECTION, MEDIA, LAG, RS, E1, E3, E1_2M, EC1, DSR_2M, LINE_OC3_STS3_AND_MS_STM1, SECTION_OC3_STS3_AND_RS_STM1, DSR_OC3_STM1, DSR_OC12_STM4, DSR_OC48_STM16, DSR_OC192_STM64, CES_IWF, T1, DSR_1_5M, STS1, STS3C, STS12C, STS24C, STS48C, STS192C, DS0, DS1, DS3, VT15, VT2, NOT_APPLICABLE, ODUFLEX, OTUg, ODUg, BGP, FLEXE_GROUP, CBR",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id.operator",
                        "in": "query",
                        "description": "(Optional) The logical operator to use when searching Network Construct identifier",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "or",
                            "and"
                        ]
                    },
                    {
                        "name": "tpe.id",
                        "in": "query",
                        "description": "(Optional) Comma separated TPE identifiers for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpe.id.operator",
                        "in": "query",
                        "description": "(Optional) The logical operator to use when searching tpeIds",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "or",
                            "and"
                        ]
                    },
                    {
                        "name": "physicalNeName",
                        "in": "query",
                        "description": "(Optional) Network Construct name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalNeName.operator",
                        "in": "query",
                        "description": "(Optional) The logical operator to use when searching Network Construct name",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "or",
                            "and"
                        ]
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) List of concrete FRE identifiers. NA results in all Fres with no concreteFREIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bookingData.lockout",
                        "in": "query",
                        "description": "(Optional)  Flag that enables/disables a link from having additional tunnel BW being consumed. NA results in all Fres with no bwLockout. NOT query is supported. The allowed bwLockout values: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "description": "(Optional, Deprecated) FRE group :<ul><li>dwa for all FREs in OTU4 and all top level FREs in ETHERNET, DSR, DSR_ETHERNET, OTSi(OCH), ODU2, ODU4, ODUCn, OTUCn<li>infrastructure for all FRE-APs representing forwarding constructs between ROADM OTS'<li>packet for all L2 nodal and top level FREs in ETHERNET including infrastructure</ul>",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "dwa",
                            "infrastructure",
                            "packet",
                            "packet_infrastructure",
                            "tdm"
                        ]
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "FRE types in comma separated list. NA results in all Fres with no freType. NOT query is supported. The allowed freType values are: explicitRoute, cascadedExplicitRoute, explicitRouteGroup, snc, sncGroup, explicitRouteInstance",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "userLabel",
                        "in": "query",
                        "description": "User label. NA results in all Fres with no userLabel. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "managementName",
                        "in": "query",
                        "description": "Management Name. NA results in all Fres with no mgmt name. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id. NA results in all Fres with no serviceIntentId. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id. NA results in all Fres with no equipmentIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.intent.id",
                        "in": "query",
                        "description": "(Optional) The intent id. NA results in all Fres with no intentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.intent.type",
                        "in": "query",
                        "description": "(Optional) The intent type. NA results in all Fres with no intentType. NOT query is supported. ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. NA results in all Fres with no signalContentType. NOT query is supported. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) Find roadmlines by srlg values separated by comma. NA results in all Fres with no srlg. NOT query is supported. A roadmline is a FRE between two SAM cards.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "deploymentState",
                        "in": "query",
                        "description": "(Optional) deploymentState parameter used to filter results. NA results in all Fres with no deploymentState. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "(Optional) The active state of the resource. NA results in all Fres with no active. NOT query is supported. The allowed active values: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "directionality",
                        "in": "query",
                        "description": "(Optional) Indicates if unidirectional or bidirectional FREs should be returned. NA results in all Fres with no directionality. NOT query is supported. The allowed directionality values: unidirectional, bidirectional",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkRole",
                        "in": "query",
                        "description": "(Optional) Determines if the FRE participates in an internal or external forwarding view or involves access points or connection points. NA results in all Fres with no networkRole. NOT query is supported. The allowed  values: IFRE, FREAP, FREhAP, ROADMLINE, IFRECP",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "FRE types in comma separated list. The allowed values are: service, link, roadmline-ap, roadmline",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceClass",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the FRE service class. This parameter accepts a list of comma separated values. NA results in all Fres with no serviceClass. NOT query is supported. The allowed serviceClass values are: EVC, ETransit, EAccess, VLAN, TDM, Transport Client, Photonic, Tunnel, IP, LLDP, LAG, OTU, ROADM Line, Fiber, SNC , OSRP Link, OSRP Line, SNCP, ICL, Ring, FlexeLink, FlexeGroup, EVPN_VPWS",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRateQualifier",
                        "in": "query",
                        "description": "(Optional) Indicates additional qualification information for a LayerRate. NA results in all Fres with no layerRateQualifier. NOT query is supported. For example, for beyond 100G rates (e.g. OTUCn, ODUCn), defines the n multiplier, or the n-M subrate value.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceRate",
                        "in": "query",
                        "description": "The service rate of the ODUFLEX FRE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportedByFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all supported parent FREs (default is one serviceClass/layer level up) that have a serviceClass designation for the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportedByQualifier",
                        "in": "query",
                        "description": "(Optional) Used in conjunction with supportedByFreId and controls if only one-level (default) or all parent FREs with a serviceClass are returned",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "one",
                            "all"
                        ]
                    },
                    {
                        "name": "supportingFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all supporting child FREs (one serviceClass/layer level down) that have a serviceClass designation for the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "customerName",
                        "in": "query",
                        "description": "(Optional) Search for an exact match on customerName. NA results in all Fres with no customerName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sncgUserlabel",
                        "in": "query",
                        "description": "(Optional) For Control Plane SNCs only: Retrieves all SNCs provided the parent SNCG userLabel. NA results in all Fres with no sncgUserLabel. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tunnelType",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE Tunnel class service. NA results in all Fres with no tunnelType. This parameter accepts a list of comma separated values. The allowed tunnelType values are: dynamic, static",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ringType",
                        "in": "query",
                        "description": "(Optional) Allow filtering on type of G8032 ring.  NA results in all Fres with no ringType. NOT query is supported. This parameter accepts a list of comma separated values. The allowed ringType values are: majorRing, subRing",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ringCompleteness",
                        "in": "query",
                        "description": "(Optional) Allow filtering on type of G8032 ring completeness. NA results in all Fres with no ringCompleteness. NOT query is supported. This parameter accepts a list of comma separated values. The allowed ringCompleteness values are: partial, complete",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "adminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE adminState.  NA results in all Fres with no adminState. NOT query is supported. This parameter accepts a list of comma separated values. The allowed adminState values are: enabled, disabled, not applicable, In Service, Out of Service",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "operationState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE operationState.  NA results in all Fres with no operationState. NOT query is supported. This parameter accepts a list of comma separated values. The allowed operationState values are: fully operating, not operating, degraded operation, Not Applicable, Undetermined, In Service, Degraded, Out of Service External, Out of Service",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.status",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS status. NA results in all Fres with no lqsStatus. NOT query is supported. The allowed lqsStatus values: good, high, low, upgrade",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.margin.valid",
                        "in": "query",
                        "description": "(Optional) The LQS margin validity state.  NA results in all Fres with no lqsMarginValid. NOT query is supported. The allowed lqsMarginValid values: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.reconciled",
                        "in": "query",
                        "description": "(Optional) The LQS fiber reconciled state. NA results in all Fres with no lqsFiberReconciled. NOT query is supported.The allowed lqsFiberReconciled values: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.method",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS fiber method. NA results in all Fres with no lqsFiberMethod. NOT query is supported. The allowed lqsFiberMethod values: totalPower, osc, ramanTelemetry, rls",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.deltaAvgToPlannedLoss",
                        "in": "query",
                        "description": "(Optional) The LQS fiber delta average to planned loss. NA results in all Fres with no lqsFiberDeltaAvgToPlannedLoss. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.avgLoss",
                        "in": "query",
                        "description": "(Optional) The LQS fiber average loss. NA results in all Fres with no lqsFiberAvgLoss. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.avgLossStatus",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS Average Loss Status. NA results in all Fres with no lqsFiberAvgLossStatus. NOT query is supported. The allowed lqsFiberAvgLossStatus values: low, good, high",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.lastCalculationTime",
                        "in": "query",
                        "description": "(Optional) The LQS fiber last loss calculation time. NA results in all Fres with no lqsFiberLastCalculationTime. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.plannedLoss",
                        "in": "query",
                        "description": "(Optional) The LQS fiber planned loss. NA results in all Fres with no lqsFiberPlannedLoss. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.plannedLossMargin",
                        "in": "query",
                        "description": "(Optional) The LQS fiber planned loss margin. NA results in all Fres with no lqsFiberPlannedLossMargin. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.currentLoss",
                        "in": "query",
                        "description": "(Optional) The LQS fiber planned current loss. NA results in all Fres with no lqsFiberCurrentLoss. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.currentLossTime",
                        "in": "query",
                        "description": "(Optional) The LQS fiber current loss time. NA results in all Fres with no lqsFiberCurrentLossTime. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.fiber.currentLossMethod",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS fiber current loss method. NA results in all Fres with no lqsFiberCurrentLossMethod. NOT query is supported. The allowed lqsFiberAvgLossStatus values: totalPower, osc, ramanTelemetry, rls",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.margin.viableAtEol",
                        "in": "query",
                        "description": "(Optional) A list of LQS margin viable at EOL states. NA results in all Fres with no lqsMarginViableEOL. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.snrStatus",
                        "in": "query",
                        "description": "(Optional) A list of LQS PPG snr states. NA results in all Fres with no lqsPpgSnrStatus. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.categorySnrReference",
                        "in": "query",
                        "description": "(Optional) A list of LQS PPG category snr reference values. NA results in all Fres with no lqsPpgCategorySnrReference. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.deltaSnrReference",
                        "in": "query",
                        "description": "(Optional) A list of LQS PPG delta snr reference values. NA results in all Fres with no lqsPpgDeltaSnrReference. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.startDeltaSnrReference",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE lqsData ppg startDeltaSnrReference",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.ppg.endDeltaSnrReference",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE lqsData ppg endDeltaSnrReference",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.totalExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth totalExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.availableExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth availableExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.unavailableExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth unavailableExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.availablePercentage",
                        "in": "query",
                        "description": "((Optional) Allow filtering on FRE restorationHealth availablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.unavailablePercentage",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth unavailablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.homeAvailable",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth homeAvailable",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.startAvailablePercentage",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth startAvailablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.endAvailablePercentage",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth endAvailablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "coroutedFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all correlated FREs that are co-routed and co-terminated with the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE tags. This parameter accepts a list of comma separated strings. NA results in all Fres with no tags. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAdminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE adminState display string. NA results in all Fres with no displayAdminState. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayOperationState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE operationState display string. NA results in all Fres with no displayOperationState. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayTopologySource",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE topologySource display string. NA results in all Fres with no displayTopologySource. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.totalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData totalCapacity. NA results in all Fres with no utilizationTotalCapacity. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.usedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData usedCapacity. NA results in all Fres with no utilizationUsedCapacity. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData utilizationPercent. NA results in all Fres with no utilizationPercent. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData startUtilizationPercent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData endUtilizationPercent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "utilizationData.capacityUnits",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE utilizationData capacityUnits. NA results in all Fres with no utilizationCapacityUnits. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: resiliency, tdmServices, topologicalLinks, roadmLineSpan, reusableSNCG, tunnelReplacement, layer1OtuLinks, photonicSncpWorkLegs, relatedFresFull, relatedFresLight, ringsWithoutConstraints, groupedSNCDTLSET, relatedRoadmlineSeedsForIntent, fresWithSrlg, l1LinkFresForHomeRoute, l1NcpTransportServices, resiliencyFre, fresLookupByName,staticRouteL3VPN, l1NcpLinkFres,eviId,rtList<br><br>tunnelReplacement cannot be used in combination with other named queries<br><br>photonicSncpWorkLegs can not be used alone, networkConstruct.Id must be provided with this named query<br><br>relatedFresFull can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>relatedFresLight can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>relatedRoadmlineSeedsForIntent can not be used alone, namedQueryParam1 must be provided with this named query<br><br>l1LinkFresForHomeRoute can not be used alone, namedQueryParam1 must be provided with this named query<br><br>resiliencyFre can not be used alone, namedQueryParam1 must be provided with this named query<br><br>groupedSNCDTLSET cannot be used in combination with other named queries and can not be used alone, namedQueryParam1  must be provided with this named query.<br><br>fresLookupByName can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>staticRouteL3VPN can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>l1NcpLinkFres can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>eviId can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>cfmAdminState can not be used alone, namedQueryParam1 must be provided with this named query.<br><br>rtList can not be used alone, namedQueryParam1 must be provided with this named query.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "Mandatory when namedQuery relatedFresFull/relatedFresLight/relatedRoadmlineSeedsForIntent/l1LinkFresForHomeRoute/resiliencyFre/l1NcpLinkFres is used.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "relatedServices",
                        "in": "query",
                        "description": "(Optional) when namedQuery relatedFresFull is used. NA results in all Fres with no relatedServices. NOT query is supported. The allowed relatedServices values are: Sncp, Link diverse, Bundle diverse, Absolute diverse",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainTypes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE domainTypes. NA results in all Fres with no domainTypes. NOT query is supported. This parameter accepts a list of comma separated values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resilienceLevel",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE domainTypes. NA results in all Fres with no resilienceLevel. NOT query is supported. This parameter accepts a list of comma separated values. The allowed resilienceLevel values: unprotected, partial, protected",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "partitionFreIds",
                        "in": "query",
                        "description": "(Optional) Retrieves all parent FREs that have the specified FRE as a partition relation. NA results in all Fres with no partitionFreIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "decomposedFreIds",
                        "in": "query",
                        "description": "(Optional) Retrieves all parent FREs that have the specified FRE as a decomposed relation. NA results in all Fres with no decomposedFreIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "facilityBypass",
                        "in": "query",
                        "description": "(Optional) Allow filtering of FRE's with facilityBypass tunnels. NA results in all Fres with no facilityBypass. The allowed facilityBypass value: exclude",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "(Optional) The child FRE identifier to return its parents. NA results in all Fres with no childFreId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gneSubnetName",
                        "in": "query",
                        "description": "(Optional) GNE Subnet name of the FRES. NA results in all Fres with no gneSubnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "routingConstraints.inclusionConstraints.id",
                        "in": "query",
                        "description": "(Optional) Retrieves all FREs that have an inclusion constraint relationship to the specified identifier. NA results in all Fres with no routingInclusionConstraintsId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayDeploymentState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE deploymentState display string. NA results in all Fres with no displayDeploymentState. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncTags",
                        "in": "query",
                        "description": "(Optional) List of comma-separated network construct tags that is an endpoint for an FRE. NA results in all Fres with no ncTags. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayRecoveryCharacteristicsOnHome",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE resiliency controller recovery characteristics onHome display string. NA results in all Fres with no displayRecoveryCharacteristicsOnHome. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "remoteOSRPNodeName",
                        "in": "query",
                        "description": "(Optional) Allow filtering of DTLSet fres on the basis of destination osrp node name. NA results in all Fres with no remoteOSRPNodeName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "headOSRPNodeName",
                        "in": "query",
                        "description": "(Optional) Allow filtering of DTLSet fres on the basis of head osrp node name. NA results in all Fres with no headOSRPNodeName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isUsedByService",
                        "in": "query",
                        "description": "(Optional) Allow filtering of DTLSet fres on the basis of whether they are used by snc/sncg or not. NA results in all Fres with no isUsedByService. NOT query is supported. The allowed isUsedByService values are true/false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isDTLSetUsedAsRoutingConstraint",
                        "in": "query",
                        "description": "(Optional) Allow filtering of DTLSet FREs on the basis of whether they are referenced by an snc/sncg or not. NA results in all Fres with no value set. NOT query is supported. The allowed values are true/false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isOtdrCapable",
                        "in": "query",
                        "description": "(Optional) List all fres that have OTDR capable links. NA results in all Fres with no isOtdrCapable. NOT query is supported. The allowed isOtdrCapable value is true",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceTraceType",
                        "in": "query",
                        "description": "(Optional) Allow filtering of source trace type. NA results in all Fres with no source trace type. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceTraceTimestamp",
                        "in": "query",
                        "description": "(Optional) Allow filtering of source trace timestamp. NA results in all Fres with no source trace time stamp. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationTraceType",
                        "in": "query",
                        "description": "(Optional) Allow filtering of destination trace type. NA results in all Fres with no destination trace type. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationTraceTimestamp",
                        "in": "query",
                        "description": "(Optional) Allow filtering of destination trace time stamp. NA results in all Fres with no destination trace time stamp. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceOtdrcfgaId",
                        "in": "query",
                        "description": "(Optional) Allow filtering of source OTDR cfg aid. NA results in all Fres with no source OTDR cfg aid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceNcId",
                        "in": "query",
                        "description": "(Optional) Allow filtering of source NC ID. NA results in all Fres with no ssource NC ID. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationOtdrcfgaId",
                        "in": "query",
                        "description": "(Optional) Allow filtering of destination OTDR cfg aid. NA results in all Fres with no destination OTDR cfg aid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationNcId",
                        "in": "query",
                        "description": "(Optional) Allow filtering of destination NC id. NA results in all Fres with no destination NC id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isSubmarineLink",
                        "in": "query",
                        "description": "(Optional) List all fres that have isSubmarineLink. NA results in all Fres with no isSubmarineLink. NOT query is supported. The allowed isSubmarineLink value is true",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ovpnIds",
                        "in": "query",
                        "description": "(Optional) List of comma separated ovpnIds (0-255). NA results in all Fres with no ovpnIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "partitioningFreIds",
                        "in": "query",
                        "description": "(Optional) Retrieves all child FREs that have the specified FRE as a partitioning relation. NA results in all Fres with no partitioningFreIds. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "internalStructure",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the FRE Internal Structure. This parameter accepts a list of comma separated values. NA results in all Fres with no internalStructure. NOT query is supported. The allowed internalStructure values are: SIMPLE,SIMPLE_SWITCHED,PROTECTED_ONE_END, MULTI_SIMPLE, MULTIPLE,PROTECTED_BOTH_ENDSMULTIPOINT, HUB_AND_SPOKE,EXPLICIT,INTERCONNECT_ONE_END,UNKNOWN,FULL_MESH,PARTIAL_MESH",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exportRouteTargets",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Export Route Targets",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "importRouteTargets",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Import Route Targets",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "filterType",
                        "in": "query",
                        "description": "(Optional) FilterType used in case search fres based on export Route Target or Import Route Target.\nif FilterType = Both, then search fres based on importRouteTarget OR exportRouteTarget.\nelse, fres search based on importRouteTarget AND exportRouteTarget",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nativeName",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Native Name. NA results in all Fres with no nativeName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Display Name. NA results in all Fres with no displayName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "peerSNCIdentifier",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Peer SNC Identifier. NA results in all Fres with no peerSNCIdentifier. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "interfaceName/interfaceIP",
                        "in": "query",
                        "description": "(Optional) Filter support on Interface Name or Interface IP.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.averageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput averageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.startAverageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput startAverageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.endAverageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput endAverageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.maxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput maxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.startMaxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput startMaxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.endMaxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput endMaxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.ninetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput ninetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.startNinetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput startNinetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dailyThroughput.endNinetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE daily throughput endNinetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.averageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput averageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.startAverageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput startAverageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.endAverageUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput endAverageUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.maxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput maxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.startMaxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput startMaxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.endMaxUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput endMaxUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.ninetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput ninetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.startNinetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput startNinetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weeklyThroughput.endNinetyFifthUtilization",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE weekly throughput endNinetyFifthUtilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "completeness",
                        "in": "query",
                        "description": "(Optional) Allow filtering on type of FlexE and G8032 completeness. NA results in all Fres with no Completeness. NOT query is supported. This parameter accepts a list of comma separated values. The allowed Completeness values are: partial, complete",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "misconfigured",
                        "in": "query",
                        "description": "(Optional) Allow filtering on type of FlexE misconfigurations. This parameter accepts a list of comma separated values. The allowed misconfigured values are: true or false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destinationPrefix",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on destinationPrefix.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "selectedRoute",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Selected Route.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "vrfName",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on Vrf Name.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nextHopIp",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on NextHop Ip.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "vrfId",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on VRF Id.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "statsCollectionOperational",
                        "in": "query",
                        "description": "(Optional) Allow filtering on value of IPDATA statsCollectionOperational. NA results in all Fres with no statsCollectionOperational. NOT query is supported. This parameter accepts a list of comma separated values. The allowed statsCollectionOperational values are: partial, on, off",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "dmmState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on value of IPDATA dmmState. NA results in all Fres with no dmmState. NOT query is supported. This parameter accepts a list of comma separated values. The allowed dmmState values are: enabled, disabled, partial",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slmState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on value of IPDATA slmState. NA results in all Fres with no slmState. NOT query is supported. This parameter accepts a list of comma separated values. The allowed slmState values are: enabled, disabled, partial",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "signalingType",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on signaling Type. NA results in all Fres with no signalingType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sourceEndPoint",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on source End Point. NA results in all Fres with no sourceEndPoint. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "destEndPoint",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on destination End Point. NA results in all Fres with no destEndPoint. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bindingAllocatedSid",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on SR TE Binding Allocated Sid. NA results in all Fres with no bindingAllocatedSid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "cfmAdminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on CfmAdminState",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "color",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on color",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayServerRefreshState",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on the displayData server refresh state",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceRefresh.state",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on the server refresh state",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceRefresh.status",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on the server refresh status",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "transportPolicy",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on transportPolicy Type. NA results in all Fres with no transportPolicy. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "catalog",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on catalog. NA results in all Fres with no catalog. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srColor",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on vrf Sr color NA results in all Fres with no color. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fallback",
                        "in": "query",
                        "description": "(Optional) Allow filtering support on fallback. NA results in all Fres with no fallback. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ringStatus",
                        "in": "query",
                        "description": "(Optional) Allow filtering on Status of G8032 ring. This parameter accepts a list of comma separated values: OK, Local signal failure, Local force switch, Remote signal failure, Remote force switch, Provisioning mismatch, Not receiving PDUs, No RPL owner detected, Unknown",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ringState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on State of G8032 ring. This parameter accepts a list of comma separated values: Initializing, OK, Admin disabled, Operational disabled, Protecting, Recovering, Manual switch, Force switch, Unknown",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "MetaData to be included. The allowed values are: layerRate, layerRateQualifier, signalContentType, serviceClass, sncgUserlabel, adminState, operationState, lqsData.status, lqsData.margin.valid, lqsData.fiber.reconciled, lqsData.fiber.method, lqsData.margin.viableAtEol, displayAdminState, displayOperationState, displayTopologySource, customerName, domainTypes, resilienceLevel, directionality, displayDeploymentState, ringType, ringCompleteness, displayRecoveryCharacteristicsOnHome, lqsData.ppg.snrStatus, internalStructure, lqsData.ppg.categorySnrReference, lqsData.ppg.deltaSnrReference, totalCapacity, usedCapacity, utilizationPercent, capacityUnits, restorationHealth.totalExplicitRoutes, restorationHealth.availableExplicitRoutes, restorationHealth.unavailableExplicitRoutes, restorationHealth.availablePercentage, restorationHealth.unavailablePercentage, restorationHealth.homeAvailable, remoteOSRPNodeName, headOSRPNodeName, isDTLSetUsedAsRoutingConstraint, importRouteTargets, exportRouteTargets, relatedServices, signalingType, sourceEndPoint, destEndPoint, bindingAllocatedSid, transportPolicy, catalog, srColor, fallback, cfmAdminState, color, dailyThroughput.averageUtilization, dailyThroughput.maxUtilization, dailyThroughput.ninetyFifthUtilization, weeklyThroughput.averageUtilization, weeklyThroughput.maxUtilization, weeklyThroughput.ninetyFifthUtilization, remoteOSRPNodeName, headOSRPNodeName, isDTLSetUsedAsRoutingConstraint, importRouteTargets, exportRouteTargets, destinationPrefix, selectedRoute, vrfName, vrfId, nextHopIp, relatedServices, isOtdrCapable, sourceTraceType, sourceTraceTimestamp, destinationTraceType, destinationTraceTimestamp, sourceOtdrcfgaId, sourceNcId, destinationOtdrcfgaId, destinationNcId, displayServerRefreshState, nativeName, isSubmarineLink",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, networkConstructs, planned, freDiscovered, frePlanned, supportedByFreResiliencyClientTpes, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKey=key1,key2,...&identifierValue=value1,value2,...\nFor instance:\n     ?identifierKey=nodalId&identifierValue=nodalIdValue<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"layerRate\": \"OTSi\",\n  \"directionality\": \"unidirectional\",\n  \"networkRole\": \"FREAP\",\n  \"type\": \"service\",\n  \"limit\": \"50\"\n}</code></pre>",
                "operationId": "searchPostFresV2",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE search parameters",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreSearchParamsRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2/search/fres/{freId}": {
            "get": {
                "tags": [
                    "fres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "",
                "operationId": "getFreByIdV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts, controllers, srlgs, utilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2/search/networkConstructs": {
            "get": {
                "tags": [
                    "networkConstructs"
                ],
                "summary": "Get list of discovered Network Construct(s) satisfying the query parameters",
                "description": "Discovered Network Constructs returned as a JSON list of Network Construct objects. \nNote: <ul>1). When querying using identifiers, the supported syntax is as follows: \n   ?identifierKey=key1,key2,...&identifierValue=value1,value2,... \nFor instance, \n   ?identifierKey=subnetName&identifierValue=PV0438A---PV0428D---SUBNET</ul><ul>2). When querying by NOT, the supported syntax is as follows:<ul>\n     1. NOT(\"A\")\n     2. NOT(\"A\" OR \"B\")\n     3. NOT(\"A\" AND \"B\")\n     etc</ul>\n  *NOT, OR, AND keywords are case-insensitive\n  *Brackets with NOT are optional, for ex: NOT \"A\" is valid</ul><ul>3). NOT_AVAILABLE/NULL parameter is supported with NA in parameter value.</ul>",
                "operationId": "searchNcsV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct Ids. NA results in all NetworkConstructs with no id. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchType",
                        "in": "query",
                        "description": "(Optional) Specify the matching criteria for searchText. <ul><li>wildCard: Return all FREs which contain the searchText and is case insensitive<li>match: Return all FREs that matches the exact word from searchText field and is case insensitive<li>matchCase: Return all FREs that matches the exact word from searchText field and is case sensitive</ul>",
                        "required": false,
                        "type": "string",
                        "default": "wildCard",
                        "enum": [
                            "wildCard",
                            "match",
                            "matchCase"
                        ]
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "(Optional) List of Management Session Ids. NA results in all NetworkConstructs with no sessionId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id. NA results in all NetworkConstructs with no eqpIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id. NA results in all NetworkConstructs with no serviceIntentId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id. NA results in all NetworkConstructs with no physicalLocationId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of device name values. NA results in all NetworkConstructs with no name. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values. NA results in all NetworkConstructs with no displayName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "The identifier key list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "The identifier value list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete networkConstruct. NA results in all NetworkConstructs with no concrete. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct. NA results in all NetworkConstructs with no ipAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructType",
                        "in": "query",
                        "description": "(Optional) List of Network Construct types. NA results in all NetworkConstructs with no type. NOT query is supported. The allowed networkConstructType values are: networkElement, shelf, osrpNode, manual, branchingUnit, submarineRepeater, foreignNode",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceTypes. NA results in all NetworkConstructs with no resourceType. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. NA results in all NetworkConstructs with no associationState. NOT query is supported. The allowed associationState values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "syncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. NA results in all NetworkConstructs with no syncState. NOT query is supported. The allowed syncState values are: notSynchronized, synchronizing, synchronized, failed, timeout, aborted, deleting, deleteFailed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct software versions. NA results in all NetworkConstructs with no softwareVersion. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nativeSoftwareVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct native software versions. NA results in all NetworkConstructs with no nativeSoftwareVersion. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displaySyncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. NA results in all NetworkConstructs with no displaySyncState. NOT query is supported. The allowed displaySyncState values are: planned, notSynchronized, synchronizing, synchronized, failed, pending, deleting, timeout",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayInventorySyncFailureReason",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct inventory sync failure reasons. NA results in all NetworkConstructs with no displayInventorySyncFailureReason. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayResourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. NA results in all NetworkConstructs with no displayResourceState. NOT query is supported. The allowed displayResourceState values are: root, planned, discovered, unknown",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAssociationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. NA results in all NetworkConstructs with no displayAssociationState. NOT query is supported. The allowed displayAssociationState values are: Connected, Not connected",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subnetName",
                        "in": "query",
                        "description": "(Optional) The subnet name list. NA results in all NetworkConstructs with no subnetName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "macAddress",
                        "in": "query",
                        "description": "(Optional) macAddress parameter used to filter results. NA results in all NetworkConstructs with no macAddress. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct typeGroups. NA results in all NetworkConstructs with no typeGroup. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slteType",
                        "in": "query",
                        "description": "(Optional)  slteType parameter used to filter results. NA results in all NetworkConstructs with no slteType. NOT query is supported. The allowed slteType value: SLTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ssteType",
                        "in": "query",
                        "description": "(Optional)  ssteType parameter used to filter spectrum sharing terminal network element. NA results in all NetworkConstructs with no ssteType. NOT query is supported. The allowed ssteType value: SSTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedSlot.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct slot end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equippedPluggable.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct pluggable end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServiceSlot.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service slot end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationTotalCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization total capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationUsedCapacity",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization used capacity",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.utilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.startUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable start utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "inUseByServicePluggable.endUtilizationPercent",
                        "in": "query",
                        "description": "(Optional) Allow filtering on networkConstruct used by service pluggable end utilization percent",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) List of resourcePartitionInfo",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "(Optional) Allow filtering on NC tags. NA results in all NetworkConstructs with no tags. NOT query is supported. This parameter accepts a list of comma separated strings",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "rrConfigured",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct based on BGP RRConfiguration. NA results in all NetworkConstructs with no rrConfigured. NOT query is supported. The allowed rrConfigured values are: true, false",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: OADMCapabilityNodes, OADMCapabilityNodesV2, networkConstructsWithSrlg, networkConstructsWithShareSrlg, l1ControlPlaneNodes, lookupNetworkConstructsByName, networkConstructsWithNativeMPLS",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "namedQueryParam1",
                        "in": "query",
                        "description": "namedQueryParam1 must be provided for namedQuery: lookupNetworkConstructsByName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "geoDistanceQuery",
                        "in": "query",
                        "description": "(Optional) Filters on distance from a specified location; the Geo distance query is formatted as follows: <distance>:<latitude>:<longitude>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "startDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of startDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMin",
                        "in": "query",
                        "description": "(Optional) Minimum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endDateMax",
                        "in": "query",
                        "description": "(Optional) Maximum value of endDate, format is: yyyy-MM-dd'T'HH:mm:ss.SSSZ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifier",
                        "in": "query",
                        "description": "(Optional) Association state qualifier. NA results in all NetworkConstructs with no associationStateQualifier. NOT query is supported. The allowed associationStateQualifier values are: MANUAL, SYSTEM, NETWORK",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) List of srlg values separated by comma. NA results in all NetworkConstructs with no srlg. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site ID for the networkConstruct. NA results in all NetworkConstructs with no siteId. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "siteName",
                        "in": "query",
                        "description": "(Optional) SiteName for the networkConstruct. NA results in all NetworkConstructs with no siteName. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "prefixSid",
                        "in": "query",
                        "description": "(Optional) PrefixSid. NA results in all NetworkConstructs with no prefixSid. NOT query is supported.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "loopbackAddresses",
                        "in": "query",
                        "description": "(Optional) List of LoopbackAddresses. NA results in all NetworkConstructs with no loopbackAddresses. NOT query is supported.",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, syncState, networkConstructType, resourceState, softwareVersion, displaySyncState, displayResourceState, displayAssociationState, tags, subnetName, associationStateQualifier, resourcePartitionInfo, equippedSlot.utilizationTotalCapacity, equippedSlot.utilizationUsedCapacity, equippedSlot.utilizationPercent, equippedPluggable.utilizationTotalCapacity, equippedPluggable.utilizationUsedCapacity, equippedPluggable.utilizationPercent, inUseByServiceSlot.utilizationTotalCapacity, inUseByServiceSlot.utilizationUsedCapacity, inUseByServiceSlot.utilizationPercent, inUseByServicePluggable.utilizationTotalCapacity, inUseByServicePluggable.utilizationUsedCapacity, inUseByServicePluggable.utilizationPercent, networkConstructName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaLimit",
                        "in": "query",
                        "description": "(Optional) Size of metadata returned",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    },
                    {
                        "name": "metaDataQualifiers",
                        "in": "query",
                        "description": "(Optional) List of meta data options. The allowed values are: absoluteTotals",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, networkConstructDiscovered, networkConstructPlanned, srlgs, utilization, timing",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Constructs",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve all network elements"
                    },
                    "500": {
                        "description": "Retrieval of network constructs failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/kafkacomet/api/v1/socket": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Socket"
                ],
                "summary": "Get active Kafka topic websocket connections",
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/socketResponseMulti"
                        }
                    },
                    "500": {
                        "description": "Error"
                    }
                }
            }
        },
        "/kafkacomet/api/v1/socket/{topic}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Socket"
                ],
                "summary": "Get active Kafka topic websocket connections by topic",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Kafka topic name",
                        "name": "topic",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/socketResponse"
                        }
                    },
                    "404": {
                        "description": "Not found, no subscribers to topic"
                    },
                    "500": {
                        "description": "Error"
                    }
                }
            }
        },
        "/licensing-feature/api/v1/features/getAllLicenses": {
            "get": {
                "tags": [
                    "Licenses"
                ],
                "summary": "Return all MCP licenses and their current state",
                "description": "",
                "operationId": "getAllLicenses",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/ResponseListRO"
                        }
                    },
                    "500": {
                        "description": "Encountered an internal error"
                    }
                }
            }
        },
        "/licensing-feature/api/v1/features/getLicense": {
            "get": {
                "tags": [
                    "Licenses"
                ],
                "summary": "Checks for an mcp license with given name. Other licenses not related to MCP will return a 406 Not Acceptable response. Example: mcp-base-license",
                "description": "",
                "operationId": "getLicense",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "commonName",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "featureName",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/FeatureResponseInterface"
                        }
                    },
                    "400": {
                        "description": "Must have one of name or feature"
                    },
                    "406": {
                        "description": "Not an acceptable license name"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/loadLicense": {
            "post": {
                "tags": [
                    "Load License file to license server"
                ],
                "summary": "Loads license file to license servers",
                "description": "",
                "operationId": "loadLicense",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "text/plain"
                ],
                "parameters": [
                    {
                        "name": "file",
                        "in": "formData",
                        "required": false,
                        "type": "file"
                    },
                    {
                        "name": "site",
                        "in": "formData",
                        "required": false,
                        "type": "string",
                        "default": "primary"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation"
                    },
                    "409": {
                        "description": "Too many requests"
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/register": {
            "get": {
                "tags": [
                    "Register"
                ],
                "summary": "Register the license server",
                "description": "",
                "operationId": "register",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/File"
                        }
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/reports": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Get all current reports",
                "description": "",
                "operationId": "listReports",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "default": 100,
                        "format": "int32"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/CursorListRO"
                        }
                    },
                    "400": {
                        "description": "Bad page size"
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            },
            "post": {
                "tags": [
                    "Reports"
                ],
                "summary": "Creates a new report or returns an in progress report ID.",
                "description": "",
                "operationId": "createReport",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Report request",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ReportRequestObject"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/ReportRequestRO"
                        }
                    },
                    "409": {
                        "description": "Report Conflict",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/reports/clients": {
            "get": {
                "tags": [
                    "Clients"
                ],
                "summary": "Get Clients within a given report",
                "description": "",
                "operationId": "getClients",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportId",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    },
                    {
                        "name": "features",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "clients",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "partNumbers",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "default": 100,
                        "format": "int32"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/CursorListRO"
                        }
                    },
                    "400": {
                        "description": "Bad page size"
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/reports/clients/export": {
            "get": {
                "tags": [
                    "Clients"
                ],
                "summary": "Get all clients for the current report",
                "description": "",
                "operationId": "exportAllClients",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportId",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/CursorListRO"
                        }
                    },
                    "409": {
                        "description": "Export request in progress"
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/reports/features": {
            "get": {
                "tags": [
                    "Features"
                ],
                "summary": "Get Features within a given report",
                "description": "",
                "operationId": "getFeatures",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportId",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    },
                    {
                        "name": "features",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "partNumbers",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "default": 100,
                        "format": "int32"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/CursorListRO"
                        }
                    },
                    "400": {
                        "description": "Bad page size"
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/reports/features/export": {
            "get": {
                "tags": [
                    "Features"
                ],
                "summary": "Get all Features within a given report",
                "description": "",
                "operationId": "exportAllFeatures",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportId",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/CursorListRO"
                        }
                    },
                    "409": {
                        "description": "Export request in progress"
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/reports/report": {
            "get": {
                "tags": [
                    "Reports"
                ],
                "summary": "Get the report with corresponding reportId value",
                "description": "",
                "operationId": "getReport",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportId",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    },
                    {
                        "name": "meta",
                        "in": "query",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/Report"
                        }
                    },
                    "404": {
                        "description": "Report not found"
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/status": {
            "get": {
                "tags": [
                    "Status"
                ],
                "summary": "Get the licensing service status",
                "description": "",
                "operationId": "getServiceStatus",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation",
                        "schema": {
                            "$ref": "#/definitions/StatusRO"
                        }
                    },
                    "500": {
                        "description": "Service Error"
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/triggerHealthCheck": {
            "post": {
                "tags": [
                    "Status"
                ],
                "summary": "Trigger an immediate license server health check",
                "description": "",
                "operationId": "triggerHealthCheck",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Triggering of health check was successful",
                        "schema": {
                            "$ref": "#/definitions/UpdateRO"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/UpdateRO"
                        }
                    }
                }
            }
        },
        "/licensing/api/v1/licensing/updateAll": {
            "post": {
                "tags": [
                    "Status"
                ],
                "summary": "Trigger an immediate update of all licenses",
                "description": "",
                "operationId": "updateAll",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Triggering of license update was successful",
                        "schema": {
                            "$ref": "#/definitions/UpdateRO"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/UpdateRO"
                        }
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/add-extended-sub-domains": {
            "post": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Add extended subdomains to the specified application slice",
                "description": "",
                "operationId": "AddExtendedSubDomainsToApplicationSlice",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice for which extended subdomains are to be added",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "sub-domains",
                        "description": "Specifies the IDs of the extended subdomains to be added",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AppSliceSubDomains"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UpdateApplicationSliceSubDomainsReport"
                        }
                    },
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/remove-extended-sub-domains": {
            "post": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Remove extended subdomains from the specified application slice",
                "description": "",
                "operationId": "RemoveExtendedSubDomainsFromApplicationSlice",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice for which subdomains are to be added and/or removed",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "sub-domains",
                        "description": "Specifies the IDs of the subdomains to be removed",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AppSliceSubDomains"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UpdateApplicationSliceSubDomainsReport"
                        }
                    },
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Get all of the application slices in the market",
                "description": "",
                "operationId": "ListApplicationSlices",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ApplicationSlice]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Get all of the application slices in the market",
                "description": "",
                "operationId": "HeadListApplicationSlices",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Create an application slice in the market",
                "description": "Create an application slice using the information in the provided application slice object",
                "operationId": "CreateApplicationSlice",
                "parameters": [
                    {
                        "in": "body",
                        "name": "applicationSliceRequest",
                        "description": "Specification defining a application slice",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ApplicationSliceProp"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSlice"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/count": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count the application slices in the market",
                "description": "",
                "operationId": "CountApplicationSlices",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count the application slices in the market",
                "description": "",
                "operationId": "HeadCountApplicationSlices",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Get a specific application slice from the market",
                "description": "",
                "operationId": "GetApplicationSlice",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifier of the requested application slice",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSlice"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Get a specific application slice from the market",
                "description": "",
                "operationId": "HeadGetApplicationSlice",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifier of the requested application slice",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Update an application slice in the market based on the data in the provided instance",
                "description": "",
                "operationId": "UpdateApplicationSlice",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifier of the application slice to update",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "applicationSliceRequest",
                        "description": "Specification defining an application slice",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ApplicationSlice"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSlice"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Delete an application slice from the market",
                "description": "",
                "operationId": "DeleteApplicationSlice",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifier of the application slice to delete",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Patch update an application slice in the market based on the data in the provided instance",
                "description": "",
                "operationId": "PatchApplicationSlice",
                "consumes": [
                    "application/json",
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifier of the application slice to update",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "applicationSliceRequest",
                        "description": "Partial application slice object specifying the data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ApplicationSlice"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSlice"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/parents": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Lists parent slices of the given application slice id",
                "description": "",
                "operationId": "ListParentApplicationSlices",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose parent slices are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect parent application-slices as well, i.e., parent of the parent, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SubDomain]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Lists parent slices of the given application slice id",
                "description": "",
                "operationId": "HeadListParentApplicationSlices",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose parent slices are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect parent application-slices as well, i.e., parent of the parent, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/children": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Lists all children slices of the given application slice id",
                "description": "",
                "operationId": "ListChildrenApplicationSlices",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose children slices are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect children application slices as well, i.e., children of the children, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ApplicationSlice]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Lists all children slices of the given application slice id",
                "description": "",
                "operationId": "HeadListChildrenApplicationSlices",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose children slices are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect children application slices as well, i.e., children of the children, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/sub-domains": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Lists all non-extended subdomains of the given application slice",
                "description": "",
                "operationId": "ListApplicationSliceSubDomains",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose subdomains are to be listed",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SubDomain]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Lists all non-extended subdomains of the given application slice",
                "description": "",
                "operationId": "HeadListApplicationSliceSubDomains",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose subdomains are to be listed",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/sub-domains/count": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count non-extended subdomains of the given application slice",
                "description": "",
                "operationId": "CountApplicationSliceSubDomains",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose subdomains are to be listed",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count non-extended subdomains of the given application slice",
                "description": "",
                "operationId": "HeadCountApplicationSliceSubDomains",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose subdomains are to be listed",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/extended-sub-domains": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Lists all extended subdomains of the given application slice by id",
                "description": "",
                "operationId": "ListApplicationSliceExtendedSubDomains",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose extended subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SubDomain]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Lists all extended subdomains of the given application slice by id",
                "description": "",
                "operationId": "HeadListApplicationSliceExtendedSubDomains",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose extended subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/extended-sub-domains/count": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count extended subdomains of the given application slice by id",
                "description": "",
                "operationId": "CountApplicationSliceExtendedSubDomains",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose extended subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count extended subdomains of the given application slice by id",
                "description": "",
                "operationId": "HeadCountApplicationSliceExtendedSubDomains",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose extended subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/children/count": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count children slices of the given application slice id",
                "description": "",
                "operationId": "CountChildrenApplicationSlices",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose children slices are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect children application slices as well, i.e., children of the children, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count children slices of the given application slice id",
                "description": "",
                "operationId": "HeadCountChildrenApplicationSlices",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose children slices are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect children application slices as well, i.e., children of the children, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/parents/count": {
            "get": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count parent slices of the given application slice id",
                "description": "",
                "operationId": "CountParentApplicationSlices",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose parent slices are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect parent application-slices as well, i.e., parent of the parent, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Count parent slices of the given application slice id",
                "description": "",
                "operationId": "HeadCountParentApplicationSlices",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice whose parent slices are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect parent application-slices as well, i.e., parent of the parent, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/remove-sub-domains": {
            "post": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Remove subdomains from the specified application slice",
                "description": "",
                "operationId": "RemoveSubDomainsFromApplicationSlice",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice for which subdomains are to be removed",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "sub-domains",
                        "description": "Specifies the IDs of the subdomains to be removed",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AppSliceSubDomains"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UpdateApplicationSliceSubDomainsReport"
                        }
                    },
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/application-slices/{applicationSliceId}/add-sub-domains": {
            "post": {
                "tags": [
                    "application-slices"
                ],
                "summary": "Add subdomains to the specified application slice",
                "description": "",
                "operationId": "AddSubDomainsToApplicationSlice",
                "parameters": [
                    {
                        "name": "applicationSliceId",
                        "in": "path",
                        "description": "Identifies the application slice for which subdomains are to be added",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "sub-domains",
                        "description": "Specifies the IDs of the subdomains to be added",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AppSliceSubDomains"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UpdateApplicationSliceSubDomainsReport"
                        }
                    },
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/domain-types": {
            "get": {
                "tags": [
                    "domain-types"
                ],
                "summary": "Get all of the domain types in the market",
                "description": "",
                "operationId": "ListDomainTypes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[DomainType]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "domain-types"
                ],
                "summary": "Get all of the domain types in the market",
                "description": "",
                "operationId": "HeadListDomainTypes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/domain-types/count": {
            "get": {
                "tags": [
                    "domain-types"
                ],
                "summary": "Count all of the domain types in the market",
                "description": "",
                "operationId": "CountDomainTypes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "domain-types"
                ],
                "summary": "Count all of the domain types in the market",
                "description": "",
                "operationId": "HeadCountDomainTypes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/domains/count": {
            "get": {
                "tags": [
                    "domains"
                ],
                "summary": "Count the domains in the market",
                "description": "",
                "operationId": "CountDomains",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "domains"
                ],
                "summary": "Count the domains in the market",
                "description": "",
                "operationId": "HeadCountDomains",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/domains": {
            "get": {
                "tags": [
                    "domains"
                ],
                "summary": "Get all of the domains in the market",
                "description": "",
                "operationId": "ListDomains",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Domain]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "domains"
                ],
                "summary": "Get all of the domains in the market",
                "description": "",
                "operationId": "HeadListDomains",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "domains"
                ],
                "summary": "Create a domain in the market using the provided properties",
                "description": "",
                "operationId": "CreateDomain",
                "parameters": [
                    {
                        "in": "body",
                        "name": "domainRequest",
                        "description": "Properties defining a domain",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DomainProps"
                        }
                    },
                    {
                        "name": "validate",
                        "in": "query",
                        "description": "Whether to use a custom validator",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Domain"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/domains/validate": {
            "post": {
                "tags": [
                    "domains"
                ],
                "summary": "Validate domain creation in market using the provided properties",
                "description": "",
                "operationId": "ValidateDomainCreate",
                "parameters": [
                    {
                        "name": "full",
                        "in": "query",
                        "description": "Whether to perform a full validation request",
                        "required": true,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "in": "body",
                        "name": "domainRequest",
                        "description": "Properties defining a domain",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DomainProps"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/domains/{domainId}": {
            "get": {
                "tags": [
                    "domains"
                ],
                "summary": "Get a specific domain from the market",
                "description": "",
                "operationId": "GetDomain",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "path",
                        "description": "Identifier of the domain being queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Domain"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "domains"
                ],
                "summary": "Get a specific domain from the market",
                "description": "",
                "operationId": "HeadGetDomain",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "path",
                        "description": "Identifier of the domain being queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "domains"
                ],
                "summary": "Update a domain in the market based on the data in the provided instance",
                "description": "The id from the Domain object parameter is optional and ignored on update.",
                "operationId": "UpdateDomain",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "path",
                        "description": "Identifier of the domain to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "domainRequest",
                        "description": "Specification defining a domain",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Domain"
                        }
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Domain"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "domains"
                ],
                "summary": "Delete a domain from the market",
                "description": "",
                "operationId": "DeleteDomain",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "path",
                        "description": "Identifier of the domain to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "domains"
                ],
                "summary": "Patch update a domain in the market based on the (partial) data in the provided instance",
                "description": "The id from the Domain object parameter is optional and ignored on update.",
                "operationId": "PatchDomain",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "path",
                        "description": "Identifier of the domain to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "domainRequest",
                        "description": "The partial domain data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Domain"
                        }
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Domain"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/domains/{domainId}/products": {
            "get": {
                "tags": [
                    "domains"
                ],
                "summary": "List all of the products offered by a specific domain",
                "description": "",
                "operationId": "ListProductsByDomain",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "path",
                        "description": "Identifier of the domain whose product offerings are being queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "includeInactive",
                        "in": "query",
                        "description": "If false, returns only products that are actively offered; if true, returns all products",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Product]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "domains"
                ],
                "summary": "List all of the products offered by a specific domain",
                "description": "",
                "operationId": "HeadListProductsByDomain",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "path",
                        "description": "Identifier of the domain whose product offerings are being queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "includeInactive",
                        "in": "query",
                        "description": "If false, returns only products that are actively offered; if true, returns all products",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/domains/{domainId}/resync": {
            "post": {
                "tags": [
                    "domains"
                ],
                "summary": "Execute a resync request for the specified domain",
                "description": "",
                "operationId": "ResyncDomain",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "path",
                        "description": "Identifier of the domain to be resynced",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "full",
                        "in": "query",
                        "description": "Whether the requeset is for a full resync",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/ResyncReply"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/unclaimed/{type}": {
            "get": {
                "tags": [
                    "jobs"
                ],
                "summary": "Get unclaimed jobs",
                "description": "Retrieves a page of up to <code>maxCount</code> unclaimed jobs. When <code>afterJobId</code> is unspecified, the API returns the first page. For the next page, set <code>afterJobId</code> to the last <code>jobId</code> of the last response.",
                "operationId": "ListUnclaimedJobs",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Job type",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "maxWait",
                        "in": "query",
                        "description": "Maximum wait time in milliseconds before returning results (maximum 120000)",
                        "required": false,
                        "type": "integer",
                        "default": 60000
                    },
                    {
                        "name": "minCount",
                        "in": "query",
                        "description": "Minimum number of jobs to return (unless maxWait is exceeded)",
                        "required": false,
                        "type": "integer",
                        "default": 1
                    },
                    {
                        "name": "maxCount",
                        "in": "query",
                        "description": "Maximum number of jobs to return in a page",
                        "required": false,
                        "type": "integer",
                        "default": 10
                    },
                    {
                        "name": "afterJobId",
                        "in": "query",
                        "description": "The last jobId of the page preceding the desired page",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[UnclaimedJob]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "jobs"
                ],
                "summary": "Get unclaimed jobs",
                "description": "Retrieves a page of up to <code>maxCount</code> unclaimed jobs. When <code>afterJobId</code> is unspecified, the API returns the first page. For the next page, set <code>afterJobId</code> to the last <code>jobId</code> of the last response.",
                "operationId": "HeadListUnclaimedJobs",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Job type",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "maxWait",
                        "in": "query",
                        "description": "Maximum wait time in milliseconds before returning results (maximum 120000)",
                        "required": false,
                        "type": "integer",
                        "default": 60000
                    },
                    {
                        "name": "minCount",
                        "in": "query",
                        "description": "Minimum number of jobs to return (unless maxWait is exceeded)",
                        "required": false,
                        "type": "integer",
                        "default": 1
                    },
                    {
                        "name": "maxCount",
                        "in": "query",
                        "description": "Maximum number of jobs to return in a page",
                        "required": false,
                        "type": "integer",
                        "default": 10
                    },
                    {
                        "name": "afterJobId",
                        "in": "query",
                        "description": "The last jobId of the page preceding the desired page",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/claimed/{type}/count": {
            "get": {
                "tags": [
                    "jobs"
                ],
                "summary": "Count jobs that have been claimed but not completed for a given job type",
                "description": "",
                "operationId": "CountClaimedJobs",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "Optional query parameter to filter to only executing or suspended jobs",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "executing",
                            "suspended"
                        ]
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ClaimedJob]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "jobs"
                ],
                "summary": "Count jobs that have been claimed but not completed for a given job type",
                "description": "",
                "operationId": "HeadCountClaimedJobs",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "Optional query parameter to filter to only executing or suspended jobs",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "executing",
                            "suspended"
                        ]
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/claimed/{type}": {
            "get": {
                "tags": [
                    "jobs"
                ],
                "summary": "Get claimed jobs that are not complete yet",
                "description": "Retrieves claimed jobs whose state are either executing or suspended. Use the state parameter to further limit the results to one of the two states.",
                "operationId": "ListClaimedJobs",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Job type",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "Optional query parameter to filter to only executing or suspended jobs",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "executing",
                            "suspended"
                        ]
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ClaimedJob"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "jobs"
                ],
                "summary": "Get claimed jobs that are not complete yet",
                "description": "Retrieves claimed jobs whose state are either executing or suspended. Use the state parameter to further limit the results to one of the two states.",
                "operationId": "HeadListClaimedJobs",
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Job type",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "Optional query parameter to filter to only executing or suspended jobs",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "executing",
                            "suspended"
                        ]
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/{jobId}": {
            "get": {
                "tags": [
                    "jobs"
                ],
                "summary": "Get a job by Id",
                "description": "",
                "operationId": "GetJob",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Job"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "jobs"
                ],
                "summary": "Get a job by Id",
                "description": "",
                "operationId": "HeadGetJob",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/{jobId}/claim": {
            "post": {
                "tags": [
                    "jobs"
                ],
                "summary": "Claim a job for execution",
                "description": "",
                "operationId": "ClaimJob",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job to claim",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "jobClaim",
                        "description": "Job claim executor information",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JobClaim"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Job"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "415": {
                        "description": "Unsupported Media Type"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/{jobId}/execution-status": {
            "get": {
                "tags": [
                    "jobs"
                ],
                "summary": "Check execution status of a claimed job with the executor",
                "description": "Retrieve executor job status if claimed job is executing or suspended",
                "operationId": "CheckJobOnly",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job to check",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/CheckJobStatusResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "jobs"
                ],
                "summary": "Check execution status of a claimed job with the executor",
                "description": "Retrieve executor job status if claimed job is executing or suspended",
                "operationId": "HeadCheckJobOnly",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job to check",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "jobs"
                ],
                "summary": "Check execution status of a claimed job with the executor and fail if out of sync",
                "description": "Retrieve job executor status if claimed job is executing or suspended, possibly fail the job based on results",
                "operationId": "CheckJobModify",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job to check",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/CheckJobStatusResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/{jobId}/progress": {
            "put": {
                "tags": [
                    "jobs"
                ],
                "summary": "Report job execution progress",
                "description": "",
                "operationId": "PutJobProgress",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job whose execution is in progress",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "jobProgress",
                        "description": "Job progress description",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JobProgress"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Job"
                        }
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/{jobId}/result": {
            "put": {
                "tags": [
                    "jobs"
                ],
                "summary": "Report a job execution result",
                "description": "",
                "operationId": "PutJobResult",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job whose execution is complete",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "jobResult",
                        "description": "Job execution result information",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JobExecutionResult"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Job"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/jobs/{jobId}/suspended": {
            "put": {
                "tags": [
                    "jobs"
                ],
                "summary": "Suspend or resume a job",
                "description": "",
                "operationId": "PutJobSuspended",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Identifier of the job to be suspended or resumed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "jobSuspension",
                        "description": "Desired job suspension state",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JobSuspension"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/products": {
            "get": {
                "tags": [
                    "products"
                ],
                "summary": "Get all of the products in the market",
                "description": "",
                "operationId": "ListProducts",
                "parameters": [
                    {
                        "name": "includeInactive",
                        "in": "query",
                        "description": "If false, returns only products that are actively offered; if true, returns all products",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Product]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "products"
                ],
                "summary": "Get all of the products in the market",
                "description": "",
                "operationId": "HeadListProducts",
                "parameters": [
                    {
                        "name": "includeInactive",
                        "in": "query",
                        "description": "If false, returns only products that are actively offered; if true, returns all products",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "products"
                ],
                "summary": "Create a new product in Market",
                "description": "Returns the created product object",
                "operationId": "CreateProduct",
                "parameters": [
                    {
                        "in": "body",
                        "name": "product",
                        "description": "Specification defining a product",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/products/count": {
            "get": {
                "tags": [
                    "products"
                ],
                "summary": "Count products in the market",
                "description": "",
                "operationId": "CountProducts",
                "parameters": [
                    {
                        "name": "includeInactive",
                        "in": "query",
                        "description": "If false, returns only products that are actively offered; if true, returns all products",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "products"
                ],
                "summary": "Count products in the market",
                "description": "",
                "operationId": "HeadCountProducts",
                "parameters": [
                    {
                        "name": "includeInactive",
                        "in": "query",
                        "description": "If false, returns only products that are actively offered; if true, returns all products",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/products/{productId}": {
            "get": {
                "tags": [
                    "products"
                ],
                "summary": "Get the product from the market based on its product identifier",
                "description": "",
                "operationId": "GetProduct",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "path",
                        "description": "Identifier of the product being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "products"
                ],
                "summary": "Get the product from the market based on its product identifier",
                "description": "",
                "operationId": "HeadGetProduct",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "path",
                        "description": "Identifier of the product being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "products"
                ],
                "summary": "Update a product based on the complete data in the provided instance",
                "description": "The id from the Product object is optional and ignored on update.",
                "operationId": "UpdateProduct",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "path",
                        "description": "Identifier of the product to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "product",
                        "description": "The complete product data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "products"
                ],
                "summary": "Delete the product from the market based on its product identifier",
                "description": "A product that is in use (pending orders or active resources refer to it) cannot be deleted.",
                "operationId": "DeleteProduct",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "path",
                        "description": "Identifier of the product being delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "products"
                ],
                "summary": "Patch update a product based on the (partial) data in the provided instance",
                "description": "The id from the Product object is optional and ignored on update.",
                "operationId": "PatchProduct",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "path",
                        "description": "Identifier of the product to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "product",
                        "description": "The partial product data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Product"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/products/{productId}/resync": {
            "post": {
                "tags": [
                    "products"
                ],
                "summary": "Execute a resync request for the specified product",
                "description": "",
                "operationId": "ResyncProduct",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "path",
                        "description": "Identifier of the product to be resynced",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "full",
                        "in": "query",
                        "description": "Whether the requeset is for a full resync",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/ResyncReply"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/relationships": {
            "get": {
                "tags": [
                    "relationships"
                ],
                "summary": "List all of the relationships registered with the Market",
                "description": "",
                "operationId": "ListRelationships",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "relationshipTypeId",
                        "in": "query",
                        "description": "Optional query to limit relationships by the relationship type (including derived types)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactRelationshipTypeId",
                        "in": "query",
                        "description": "Optional query to limit relationships by an exact relationship type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Relationship]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "relationships"
                ],
                "summary": "List all of the relationships registered with the Market",
                "description": "",
                "operationId": "HeadListRelationships",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "relationshipTypeId",
                        "in": "query",
                        "description": "Optional query to limit relationships by the relationship type (including derived types)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactRelationshipTypeId",
                        "in": "query",
                        "description": "Optional query to limit relationships by an exact relationship type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "relationships"
                ],
                "summary": "Create a new relationship in Market",
                "description": "",
                "operationId": "CreateRelationship",
                "parameters": [
                    {
                        "in": "body",
                        "name": "relationship",
                        "description": "Specification defining a relationship",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/RelationshipProp"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Relationship"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/relationships/count": {
            "get": {
                "tags": [
                    "relationships"
                ],
                "summary": "Count the relationships registered with the Market",
                "description": "",
                "operationId": "CountRelationships",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "relationshipTypeId",
                        "in": "query",
                        "description": "Optional query to limit relationships by the relationship type (including derived types)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactRelationshipTypeId",
                        "in": "query",
                        "description": "Optional query to limit relationships by an exact relationship type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "relationships"
                ],
                "summary": "Count the relationships registered with the Market",
                "description": "",
                "operationId": "HeadCountRelationships",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "relationshipTypeId",
                        "in": "query",
                        "description": "Optional query to limit relationships by the relationship type (including derived types)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactRelationshipTypeId",
                        "in": "query",
                        "description": "Optional query to limit relationships by an exact relationship type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/relationships/unresolved": {
            "get": {
                "tags": [
                    "relationships"
                ],
                "summary": "List all unresolved relationships in Market",
                "description": "List all unresolved relationships in Market",
                "operationId": "ListUnresolvedRelationships",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Identifier of the resource whose unresolved relationships to be listed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[UnresolvedRelationship]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "relationships"
                ],
                "summary": "List all unresolved relationships in Market",
                "description": "List all unresolved relationships in Market",
                "operationId": "HeadListUnresolvedRelationships",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Identifier of the resource whose unresolved relationships to be listed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/relationships/unresolved/count": {
            "get": {
                "tags": [
                    "relationships"
                ],
                "summary": "Count unresolved relationships in Market",
                "description": "Count unresolved relationships in Market",
                "operationId": "CountUnresolvedRelationships",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Identifier of the resource whose unresolved relationships to be listed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "relationships"
                ],
                "summary": "Count unresolved relationships in Market",
                "description": "Count unresolved relationships in Market",
                "operationId": "HeadCountUnresolvedRelationships",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Identifier of the resource whose unresolved relationships to be listed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/relationships/{relationshipId}": {
            "get": {
                "tags": [
                    "relationships"
                ],
                "summary": "Get the relationship from the market",
                "description": "",
                "operationId": "GetRelationship",
                "parameters": [
                    {
                        "name": "relationshipId",
                        "in": "path",
                        "description": "Identifier of the relationship being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Relationship"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "relationships"
                ],
                "summary": "Get the relationship from the market",
                "description": "",
                "operationId": "HeadGetRelationship",
                "parameters": [
                    {
                        "name": "relationshipId",
                        "in": "path",
                        "description": "Identifier of the relationship being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "relationships"
                ],
                "summary": "Delete a relationship",
                "description": "",
                "operationId": "DeleteRelationship",
                "parameters": [
                    {
                        "name": "relationshipId",
                        "in": "path",
                        "description": "Identifier of the relationship",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resource-providers": {
            "get": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Get all of the resource providers in the market",
                "description": "",
                "operationId": "ListResourceProviders",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ResourceProvider]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Get all of the resource providers in the market",
                "description": "",
                "operationId": "HeadListResourceProviders",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Create a resource provider for a domain in the market",
                "description": "Create a resource provider using the information in the provided resource provider object",
                "operationId": "CreateResourceProvider",
                "parameters": [
                    {
                        "in": "body",
                        "name": "resourceProviderRequest",
                        "description": "Specification defining a resource provider (id is ignored in creation request)",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceProvider"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ResourceProvider"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resource-providers/count": {
            "get": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Count the resource providers in the market",
                "description": "",
                "operationId": "CountResourceProviders",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Count the resource providers in the market",
                "description": "",
                "operationId": "HeadCountResourceProviders",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resource-providers/{resourceProviderId}": {
            "get": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Get a specific resource provider from the market",
                "description": "",
                "operationId": "GetResourceProvider",
                "parameters": [
                    {
                        "name": "resourceProviderId",
                        "in": "path",
                        "description": "Identifier of the requested resource provider",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceProvider"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Get a specific resource provider from the market",
                "description": "",
                "operationId": "HeadGetResourceProvider",
                "parameters": [
                    {
                        "name": "resourceProviderId",
                        "in": "path",
                        "description": "Identifier of the requested resource provider",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Update a resource provider in the market based on the data in the provided instance",
                "description": "The id from the ResourceProvider object parameter is ignored on update.",
                "operationId": "UpdateResourceProvider",
                "parameters": [
                    {
                        "name": "resourceProviderId",
                        "in": "path",
                        "description": "Identifier of the resource provider to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "resourceProviderRequest",
                        "description": "Specification defining a resource provider",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceProvider"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceProvider"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Delete a resource provider from the market",
                "description": "",
                "operationId": "DeleteResourceProvider",
                "parameters": [
                    {
                        "name": "resourceProviderId",
                        "in": "path",
                        "description": "Identifier of the resource provider to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "Patch update a resource provider in the market based on the data in the provided instance",
                "description": "The id from the ResourceProvider object parameter is ignored on update.",
                "operationId": "PatchResourceProvider",
                "parameters": [
                    {
                        "name": "resourceProviderId",
                        "in": "path",
                        "description": "Identifier of the resource provider to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "resourceProviderRequest",
                        "description": "Partial resource provider object specifying the data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceProvider"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceProvider"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resource-providers/{resourceProviderId}/domains": {
            "get": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "List all of the domains for a given resource provider",
                "description": "",
                "operationId": "ListDomainsByRp",
                "parameters": [
                    {
                        "name": "resourceProviderId",
                        "in": "path",
                        "description": "Identifier of the resource provuder whose domains are being queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Domain]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resource-providers"
                ],
                "summary": "List all of the domains for a given resource provider",
                "description": "",
                "operationId": "HeadListDomainsByRp",
                "parameters": [
                    {
                        "name": "resourceProviderId",
                        "in": "path",
                        "description": "Identifier of the resource provuder whose domains are being queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resource-types": {
            "get": {
                "tags": [
                    "resource-types"
                ],
                "summary": "List all of the resource types in the Market",
                "description": "",
                "operationId": "ListResourceTypes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeAbstract",
                        "in": "query",
                        "description": "If true, also includes abstract resource types",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ResourceTypeDigest]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resource-types"
                ],
                "summary": "List all of the resource types in the Market",
                "description": "",
                "operationId": "HeadListResourceTypes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeAbstract",
                        "in": "query",
                        "description": "If true, also includes abstract resource types",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resource-types/{resourceTypeId}": {
            "get": {
                "tags": [
                    "resource-types"
                ],
                "summary": "Get a resource type by Id",
                "description": "",
                "operationId": "GetResourceType",
                "parameters": [
                    {
                        "name": "resourceTypeId",
                        "in": "path",
                        "description": "Identifier of the resource type being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceTypeDefinition"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resource-types"
                ],
                "summary": "Get a resource type by Id",
                "description": "",
                "operationId": "HeadGetResourceType",
                "parameters": [
                    {
                        "name": "resourceTypeId",
                        "in": "path",
                        "description": "Identifier of the resource type being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resource-types/count": {
            "get": {
                "tags": [
                    "resource-types"
                ],
                "summary": "Count the resource types in the Market",
                "description": "",
                "operationId": "CountResourceTypes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeAbstract",
                        "in": "query",
                        "description": "If true, also includes abstract resource types",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resource-types"
                ],
                "summary": "Count the resource types in the Market",
                "description": "",
                "operationId": "HeadCountResourceTypes",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeAbstract",
                        "in": "query",
                        "description": "If true, also includes abstract resource types",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resource-types/{resourceTypeId}/products": {
            "get": {
                "tags": [
                    "resource-types"
                ],
                "summary": "List all of the products offered for the specific resource type",
                "description": "",
                "operationId": "ListProductsByResourceType",
                "parameters": [
                    {
                        "name": "resourceTypeId",
                        "in": "path",
                        "description": "Products are filtered to those that are of this resource type",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "includeInactive",
                        "in": "query",
                        "description": "If false, returns only products that are actively offered; if true, returns all products",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Product]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resource-types"
                ],
                "summary": "List all of the products offered for the specific resource type",
                "description": "",
                "operationId": "HeadListProductsByResourceType",
                "parameters": [
                    {
                        "name": "resourceTypeId",
                        "in": "path",
                        "description": "Products are filtered to those that are of this resource type",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "includeInactive",
                        "in": "query",
                        "description": "If false, returns only products that are actively offered; if true, returns all products",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Get a resource by Id",
                "description": "",
                "operationId": "GetResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource being queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "full",
                        "in": "query",
                        "description": "If true, returns volatile status attributes from the provider that are not stored in the database",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "minRevision",
                        "in": "query",
                        "description": "Require the revision of the returned resource to be greater than or equal to minRevision. Respond with a 503 if the resource exists, but the revision does not meet the minRevision.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Get a resource by Id",
                "description": "",
                "operationId": "HeadGetResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource being queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "full",
                        "in": "query",
                        "description": "If true, returns volatile status attributes from the provider that are not stored in the database",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "minRevision",
                        "in": "query",
                        "description": "Require the revision of the returned resource to be greater than or equal to minRevision. Respond with a 503 if the resource exists, but the revision does not meet the minRevision.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "resources"
                ],
                "summary": "Update a resource based on the data in the provided instance",
                "description": "The id from the Resource object is optional and ignored on update.",
                "operationId": "UpdateResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "resource",
                        "description": "The resource data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PutResourceProp"
                        }
                    },
                    {
                        "name": "validate",
                        "in": "query",
                        "description": "Whether to perform custom validation in addition to built-in schema and accessor validations",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "resources"
                ],
                "summary": "Delete a resource",
                "description": "",
                "operationId": "DeleteResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "validate",
                        "in": "query",
                        "description": "Whether to perform custom validation",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "resources"
                ],
                "summary": "Patch update a resource based on the (partial) data in the provided instance",
                "description": "The id from the Resource object is optional and ignored on update.",
                "operationId": "PatchResource",
                "consumes": [
                    "application/json",
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "resource",
                        "description": "The partial resource data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    {
                        "name": "validate",
                        "in": "query",
                        "description": "Whether to perform custom validation in addition to built-in schema and accessor validations",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "List all of the resources created within the Market",
                "description": "One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.\nThe Resource `differences` attribute supports q filtering whether any differences exist or not via `q=differences:empty` or `q=differences:nonEmpty` respectively.",
                "operationId": "ListResources",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "providerResourceId",
                        "in": "query",
                        "description": "Optional query to identify resource by provider resource ID",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain ids. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice id.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter. May use whitespace-separated AND/OR query (e.g. (one:1) OR (two:2) AND (three:3)) syntax or tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Resource]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "List all of the resources created within the Market",
                "description": "One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.\nThe Resource `differences` attribute supports q filtering whether any differences exist or not via `q=differences:empty` or `q=differences:nonEmpty` respectively.",
                "operationId": "HeadListResources",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "providerResourceId",
                        "in": "query",
                        "description": "Optional query to identify resource by provider resource ID",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain ids. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice id.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter. May use whitespace-separated AND/OR query (e.g. (one:1) OR (two:2) AND (three:3)) syntax or tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Create a new resource in the market",
                "description": "Initial orchestration state is requested.  Poll resource until state is active or failed.",
                "operationId": "CreateResource",
                "parameters": [
                    {
                        "in": "body",
                        "name": "resource",
                        "description": "Specification defining a resource",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceProp"
                        }
                    },
                    {
                        "name": "validate",
                        "in": "query",
                        "description": "Whether to perform custom validation in addition to built-in schema and accessor validations",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/audit": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Execute audit requests for all resources in the scope",
                "description": "Audit the resources by calling a GET asynchronously to the provider for each resource that matches the criteria.\n        One of productId, domainId, or resourceProviderId must be specified.\n        When using the q or p filters on properties, one (and only one) of productId, resourceTypeId or exactTypeId must be specified.",
                "operationId": "AuditResources",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Identifier of the product whose resources should be audited",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Identifier of the domain whose resources should be audited",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Identifier of the provider whose resources should be audited",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Option to limit the audit to one or more resource types specified and their derived types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Option to limit the audit to one or more resource types specified (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/AuditReply"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/count": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Deprecated: (use /count-filtered) Count resources",
                "description": "Deprecated: (use /count-filtered) Count resources with filter.",
                "operationId": "CountResources",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Identifier of the product whose resources should be counted",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Identifier of the domain whose resources should be counted",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Identifier of the exact resource type whose resources should be counted",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Deprecated: (use /count-filtered) Count resources",
                "description": "Deprecated: (use /count-filtered) Count resources with filter.",
                "operationId": "HeadCountResources",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Identifier of the product whose resources should be counted",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Identifier of the domain whose resources should be counted",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Identifier of the exact resource type whose resources should be counted",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/count-filtered": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Count resources in the Market",
                "description": "One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.\n      The Resource `differences` attribute supports q filtering whether any differences exist or not via `q=differences:empty` or `q=differences:nonEmpty` respectively.",
                "operationId": "CountResources",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "providerResourceId",
                        "in": "query",
                        "description": "Optional query to identify resource by provider resource ID",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain ids. Use a comma-separated string to specify multiple subdomain IDs.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice ID.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter. May use whitespace-separated AND/OR query (e.g. (one:1) OR (two:2) AND (three:3)) syntax or tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Count resources in the Market",
                "description": "One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.\n      The Resource `differences` attribute supports q filtering whether any differences exist or not via `q=differences:empty` or `q=differences:nonEmpty` respectively.",
                "operationId": "HeadCountResources",
                "parameters": [
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "providerResourceId",
                        "in": "query",
                        "description": "Optional query to identify resource by provider resource ID",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain ids. Use a comma-separated string to specify multiple subdomain IDs.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice ID.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter. May use whitespace-separated AND/OR query (e.g. (one:1) OR (two:2) AND (three:3)) syntax or tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/history": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Get all history of given resource",
                "description": "Enter date/time values in UTC (Zulu time) ISO-8601 format e.g., 2014-10-24T16:29:56.640Z",
                "operationId": "ListResourceHistory",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose history will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "after",
                        "in": "query",
                        "description": "Consider create/delete event since this time only",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "before",
                        "in": "query",
                        "description": "Consider create/delete event before this time only",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ResourceHistoryEvent]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Get all history of given resource",
                "description": "Enter date/time values in UTC (Zulu time) ISO-8601 format e.g., 2014-10-24T16:29:56.640Z",
                "operationId": "HeadListResourceHistory",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose history will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "after",
                        "in": "query",
                        "description": "Consider create/delete event since this time only",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "before",
                        "in": "query",
                        "description": "Consider create/delete event before this time only",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/sub-domain": {
            "put": {
                "tags": [
                    "resources"
                ],
                "summary": "Assign the resource to a subdomain",
                "description": "Assign the resource to a specific subdomain",
                "operationId": "AssignResourceToSubDomain",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource to be assigned to the subdomain",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "subDomainInfo",
                        "description": "Specification defining subdomain information to set the resource to",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceSubDomainInfo"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "201": {
                        "description": "Created"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/operations": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Get all custom operations invoked for a given resource",
                "description": "Resource types may define custom operations in addition to activate, update and terminate lifecycle plans.\n          This endpoint shows the history of these custom operations invoked on the specified resource.",
                "operationId": "ListResourceOperations",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose operations will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ResourceOperation]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Get all custom operations invoked for a given resource",
                "description": "Resource types may define custom operations in addition to activate, update and terminate lifecycle plans.\n          This endpoint shows the history of these custom operations invoked on the specified resource.",
                "operationId": "HeadListResourceOperations",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose operations will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Create an operation for a specific resource",
                "description": "Instantiate an operation as defined by the resource's type which is executed asynchronously.\n           The current status can be retrieved via GET while valid operation definitions can be found under the /interfaces API",
                "operationId": "CreateResourceOperation",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource for whom the operation is being created",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "operation",
                        "description": "Specification defining a resource operation",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceOperationProp"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ResourceOperation"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "resources"
                ],
                "summary": "Bulk delete resource operations",
                "description": "",
                "operationId": "BulkDeleteResourceOperations",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "beforeDate",
                        "in": "query",
                        "description": "Only delete operations before the given date. For example: '2020-02-12' would delete any operations before Feb 2nd, 2020. If no date is specified, it will delete all completed operations.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/operations/count": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Count custom operations invoked for a given resource",
                "description": "Resource types may define custom operations in addition to activate, update and terminate lifecycle plans.\n          This endpoint counts these custom operations invoked on the specified resource.",
                "operationId": "CountResourceOperations",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose operations will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ResourceOperation]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Count custom operations invoked for a given resource",
                "description": "Resource types may define custom operations in addition to activate, update and terminate lifecycle plans.\n          This endpoint counts these custom operations invoked on the specified resource.",
                "operationId": "HeadCountResourceOperations",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose operations will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/operations/{operationId}": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Get details of a specific operation for a given resource",
                "description": "",
                "operationId": "GetResourceOperation",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose operations will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operationId",
                        "in": "path",
                        "description": "Identifier of the operation to be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "minRevision",
                        "in": "query",
                        "description": "Require the revision of the returned resource to be greater than or equal to minRevision. Respond with a 503 if the resource exists, but the revision does not meet the minRevision",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceOperation"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Get details of a specific operation for a given resource",
                "description": "",
                "operationId": "HeadGetResourceOperation",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose operations will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operationId",
                        "in": "path",
                        "description": "Identifier of the operation to be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "minRevision",
                        "in": "query",
                        "description": "Require the revision of the returned resource to be greater than or equal to minRevision. Respond with a 503 if the resource exists, but the revision does not meet the minRevision",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "resources"
                ],
                "summary": "Update attributes of a specific operation for a given resource",
                "description": "",
                "operationId": "UpdateResourceOperation",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose operation will be changed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operationId",
                        "in": "path",
                        "description": "Identifier of the operation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "operation",
                        "description": "Specification defining a resource operation",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceOperation"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceOperation"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "resources"
                ],
                "summary": "Delete a resource operation",
                "description": "",
                "operationId": "DeleteResourceOperation",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operationId",
                        "in": "path",
                        "description": "Identifier of the resource operation",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "resources"
                ],
                "summary": "Patch the attributes of a specific operation for a given resource",
                "description": "",
                "operationId": "PatchResourceOperation",
                "consumes": [
                    "application/json",
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose operations will be changed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operationId",
                        "in": "path",
                        "description": "Identifier of the operation to be patched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "operation",
                        "description": "Specification defining a resource operation",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceOperation"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceOperation"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/promote": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Promote the Assembly to a managed service",
                "description": "Given the id of a top-level resource whose assembly is in the Assembled state, promote the entire assembly\n           to a managed service",
                "operationId": "PromoteResourceAssembly",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource to promote",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "resource",
                        "description": "The partial resource data to patch during promotion",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/operations/validate": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Execute a validation request for a proposed resource operation creation",
                "description": "",
                "operationId": "ValidateResourceOperationCreation",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource for which the operation will be created against",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "full",
                        "in": "query",
                        "description": "Whether the request body represents a full resource operation",
                        "required": true,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "in": "body",
                        "name": "operation",
                        "description": "Specification defining a resource operation",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceOperationProp"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ValidationReport"
                        }
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/operations/{operationId}/validate": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Execute a change validation request for the specified resource operation",
                "description": "",
                "operationId": "ValidateResourceOperationChange",
                "consumes": [
                    "application/json",
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource being validated against",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operationId",
                        "in": "path",
                        "description": "Identifier of the operation to be changed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "method",
                        "in": "query",
                        "description": "The HTTP method for the resource operation to be validated against",
                        "required": true,
                        "type": "string",
                        "default": "PATCH",
                        "enum": [
                            "PATCH",
                            "PUT"
                        ]
                    },
                    {
                        "in": "body",
                        "name": "operation",
                        "description": "Specification defining a resource operation",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceOperation"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ValidationReport"
                        }
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/interfaces": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Get all interfaces of given resource",
                "description": "List all implemented interfaces which define how to create resource operations.",
                "operationId": "ListResourceInterfaces",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose interfaces will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ResourceInterface]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Get all interfaces of given resource",
                "description": "List all implemented interfaces which define how to create resource operations.",
                "operationId": "HeadListResourceInterfaces",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose interfaces will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/interfaces/count": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Count interfaces of given resource",
                "description": "Count implemented interfaces which define how to create resource operations.",
                "operationId": "CountResourceInterfaces",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose interfaces will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[ResourceInterface]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Count interfaces of given resource",
                "description": "Count implemented interfaces which define how to create resource operations.",
                "operationId": "HeadCountResourceInterfaces",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource whose interfaces will be queried",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/reassemble": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Reassemble an Assembly",
                "description": "Given the id of a assembling resource, reevaluate the discovery template",
                "operationId": "ReassembleResourceAssembly",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource who needs to be reassembled",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/dependencies": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "List all dependencies of the resource",
                "description": "Dependencies are resources that this resource depends upon, i.e., targets of relationships that source from this resource. One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.",
                "operationId": "ListDependenciesOfResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource for which dependency resources are searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect dependencies as well, i.e., dependencies of the dependencies, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain ids. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice id.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Resource]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "List all dependencies of the resource",
                "description": "Dependencies are resources that this resource depends upon, i.e., targets of relationships that source from this resource. One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.",
                "operationId": "HeadListDependenciesOfResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource for which dependency resources are searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect dependencies as well, i.e., dependencies of the dependencies, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain ids. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice id.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/dependents": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "List all dependents of the resource",
                "description": "Dependents are resources that depend upon this resource, i.e., sources of relationships that target at this resource. One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.",
                "operationId": "ListDependentsOfResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource for which dependent resources are searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect dependents as well, i.e., dependents of the dependents, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain ids. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice id.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Resource]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "List all dependents of the resource",
                "description": "Dependents are resources that depend upon this resource, i.e., sources of relationships that target at this resource. One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.",
                "operationId": "HeadListDependentsOfResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource for which dependent resources are searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect dependents as well, i.e., dependents of the dependents, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain ids. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice id.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/dependencies/count": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Count dependencies of the resource",
                "description": "Dependencies are resources that this resource depends upon, i.e., targets of relationships that source from this resource. One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.",
                "operationId": "CountDependenciesOfResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource for which dependency resources are searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect dependencies as well, i.e., dependencies of the dependencies, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain IDs. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice ID.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Resource]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Count dependencies of the resource",
                "description": "Dependencies are resources that this resource depends upon, i.e., targets of relationships that source from this resource. One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.",
                "operationId": "HeadCountDependenciesOfResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource for which dependency resources are searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect dependencies as well, i.e., dependencies of the dependencies, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain IDs. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice ID.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/dependents/count": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Count dependents of the resource",
                "description": "Dependents are resources that depend upon this resource, i.e., sources of relationships that target at this resource. One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.",
                "operationId": "CountDependentsOfResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource for which dependent resources are searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect dependents as well, i.e., dependents of the dependents, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain IDs. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice ID.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Resource]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Count dependents of the resource",
                "description": "Dependents are resources that depend upon this resource, i.e., sources of relationships that target at this resource. One (and only one) of productId, resourceTypeId or exactTypeId must be specified when using the q or p filters on properties.",
                "operationId": "HeadCountDependentsOfResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource for which dependent resources are searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect dependents as well, i.e., dependents of the dependents, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "productId",
                        "in": "query",
                        "description": "Optional query to limit resources by product type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit resources by domain",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceProviderId",
                        "in": "query",
                        "description": "Optional query to limit resources by resource provider",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more resource types. Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exactTypeId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more exact resource types (takes precedence over resourceTypeId). Use a comma-separated string to specify multiple resource types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subDomainId",
                        "in": "query",
                        "description": "Optional query to limit resources by one or more subdomain IDs. Use a comma-separated string to specify multiple subdomain ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "applicationSliceId",
                        "in": "query",
                        "description": "Optional query to limit resources by the application slice ID.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "Optional query parameter to define a tag filter using tagKey:tagValue syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/observed": {
            "get": {
                "tags": [
                    "resources"
                ],
                "summary": "Get the observed state of the resource",
                "description": "Observed state is the state of the resource as seen by the provider",
                "operationId": "GetResourceObserved",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource to get",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resources"
                ],
                "summary": "Get the observed state of the resource",
                "description": "Observed state is the state of the resource as seen by the provider",
                "operationId": "HeadGetResourceObserved",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource to get",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "resources"
                ],
                "summary": "Update the resource to reflect it's observed state",
                "description": "Observed state is the state of the resource as seen by the provider",
                "operationId": "PutResourceObserved",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "validate",
                        "in": "query",
                        "description": "Whether to perform custom validation in addition to built-in schema and accessor validations",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "in": "body",
                        "name": "resource",
                        "description": "The resource data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PutResourceProp"
                        }
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "resources"
                ],
                "summary": "Update the resource to reflect it's observed state",
                "description": "Observed state is the state of the resource as seen by the provider",
                "operationId": "PatchResourceObserved",
                "consumes": [
                    "application/json",
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifies the resource to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "validate",
                        "in": "query",
                        "description": "Whether to perform custom validation in addition to built-in schema and accessor validations",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "in": "body",
                        "name": "resource",
                        "description": "The partial resource data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    {
                        "name": "obfuscate",
                        "in": "query",
                        "description": "If true, schema obfuscated values will be replaced with a fixed string in the response.",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/validate": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Execute a validation request for a proposed resource creation",
                "description": "",
                "operationId": "ValidateResourceCreation",
                "parameters": [
                    {
                        "name": "full",
                        "in": "query",
                        "description": "Whether the request body represents a full resource",
                        "required": true,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "name": "custom",
                        "in": "query",
                        "description": "Whether to perform custom validation in addition to built-in schema and accessor validations",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "in": "body",
                        "name": "resource",
                        "description": "Specification defining a resource",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceProp"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ValidationReport"
                        }
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/validate": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Execute a change validation request for the specified resource",
                "description": "",
                "operationId": "ValidateResourceChange",
                "consumes": [
                    "application/json",
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource being validated against",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "method",
                        "in": "query",
                        "description": "The HTTP method for the resource to be validated against",
                        "required": true,
                        "type": "string",
                        "default": "PATCH",
                        "enum": [
                            "PATCH",
                            "PUT",
                            "DELETE"
                        ]
                    },
                    {
                        "name": "custom",
                        "in": "query",
                        "description": "Whether to perform custom validation in addition to built-in schema and accessor validations",
                        "required": false,
                        "type": "boolean",
                        "default": true
                    },
                    {
                        "in": "body",
                        "name": "resource",
                        "description": "Specification defining a resource",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Resource"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ValidationReport"
                        }
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/resync": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Execute a resync request for the specified resource",
                "description": "",
                "operationId": "ResyncResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource to be resynced",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "full",
                        "in": "query",
                        "description": "Whether the requeset is for a full resync",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/ResyncReply"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resources/{resourceId}/audit": {
            "post": {
                "tags": [
                    "resources"
                ],
                "summary": "Execute an audit request for the specified resource",
                "description": "",
                "operationId": "AuditResource",
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Identifier of the resource to be audited",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/AuditReply"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/resyncs/{resyncId}": {
            "get": {
                "tags": [
                    "resyncs"
                ],
                "summary": "Get the status of a resync request",
                "description": "",
                "operationId": "GetResyncStatus",
                "parameters": [
                    {
                        "name": "resyncId",
                        "in": "path",
                        "description": "ID of the resync being requested",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResyncStatus"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "resyncs"
                ],
                "summary": "Get the status of a resync request",
                "description": "",
                "operationId": "HeadGetResyncStatus",
                "parameters": [
                    {
                        "name": "resyncId",
                        "in": "path",
                        "description": "ID of the resync being requested",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sharing-permissions": {
            "get": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Get all of the sharing permissions in the market",
                "description": "",
                "operationId": "ListSharingPermissions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SharingPermission]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Get all of the sharing permissions in the market",
                "description": "",
                "operationId": "HeadListSharingPermissions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Create a sharing permission in the market",
                "description": "Create a sharing permission using the information in the provided sharing permission object",
                "operationId": "CreateSharingPermission",
                "parameters": [
                    {
                        "in": "body",
                        "name": "sharingPermissionRequest",
                        "description": "Specification defining a sharing permission (id is honored in creation request)",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SharingPermissionProp"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/SharingPermission"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sharing-permissions/count": {
            "get": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Count the sharing permissions in the market",
                "description": "",
                "operationId": "CountSharingPermissions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Count the sharing permissions in the market",
                "description": "",
                "operationId": "HeadCountSharingPermissions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sharing-permissions/{sharingPermissionId}": {
            "get": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Get a specific sharing permission from the market",
                "description": "",
                "operationId": "GetSharingPermission",
                "parameters": [
                    {
                        "name": "sharingPermissionId",
                        "in": "path",
                        "description": "Identifier of the requested sharing permission",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SharingPermission"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Get a specific sharing permission from the market",
                "description": "",
                "operationId": "HeadGetSharingPermission",
                "parameters": [
                    {
                        "name": "sharingPermissionId",
                        "in": "path",
                        "description": "Identifier of the requested sharing permission",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Update a sharing permission in the market based on the data in the provided instance",
                "description": "The id from the SharingPermission object parameter is ignored on update.",
                "operationId": "UpdateSharingPermission",
                "parameters": [
                    {
                        "name": "sharingPermissionId",
                        "in": "path",
                        "description": "Identifier of the sharing permission to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "sharingPermissionRequest",
                        "description": "Specification defining a sharing permission",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SharingPermission"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SharingPermission"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Delete a sharing permission from the market",
                "description": "",
                "operationId": "DeleteSharingPermission",
                "parameters": [
                    {
                        "name": "sharingPermissionId",
                        "in": "path",
                        "description": "Identifier of the sharing permission to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "sharing-permissions"
                ],
                "summary": "Patch update a sharing permission in the market based on the data in the provided instance",
                "description": "The id from the SharingPermission object parameter is ignored on update.",
                "operationId": "PatchSharingPermission",
                "consumes": [
                    "application/json",
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "sharingPermissionId",
                        "in": "path",
                        "description": "Identifier of the sharing permission to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "sharingPermissionRequest",
                        "description": "Partial sharing permission object specifying the data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SharingPermission"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SharingPermission"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sub-domains": {
            "get": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Get all of the subdomains in the market",
                "description": "",
                "operationId": "ListSubDomains",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit subdomains by domain ID",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SubDomain]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Get all of the subdomains in the market",
                "description": "",
                "operationId": "HeadListSubDomains",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit subdomains by domain ID",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Create a subdomain in the market",
                "description": "Create a subdomain using the information in the provided subdomain object",
                "operationId": "CreateSubDomain",
                "parameters": [
                    {
                        "in": "body",
                        "name": "subDomainRequest",
                        "description": "Specification defining a subdomain",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SubDomainProp"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/SubDomain"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sub-domains/{subDomainId}": {
            "get": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Get a specific subdomain from the market",
                "description": "",
                "operationId": "GetSubDomain",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifier of the requested subdomain",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SubDomain"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Get a specific subdomain from the market",
                "description": "",
                "operationId": "HeadGetSubDomain",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifier of the requested subdomain",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Update a subdomain in the market based on the data in the provided instance",
                "description": "",
                "operationId": "UpdateSubDomain",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifier of the subdomain to update",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "subDomainRequest",
                        "description": "Specification defining a subdomain",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SubDomain"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SubDomain"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Delete a subdomain from the market",
                "description": "",
                "operationId": "DeleteSubDomain",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifier of the subdomain to delete",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Patch update a subdomain in the market based on the data in the provided instance",
                "description": "",
                "operationId": "PatchSubDomain",
                "consumes": [
                    "application/json",
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifier of the subdomain to update",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "subDomainRequest",
                        "description": "Partial subdomain object specifying the data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SubDomain"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SubDomain"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sub-domains/{subDomainId}/containers": {
            "get": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Lists all container subdomains of the given subdomain id",
                "description": "",
                "operationId": "ListContainers",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifies the subdomain whose container subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect container subdomains as well, i.e., container of the container, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SubDomain]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Lists all container subdomains of the given subdomain id",
                "description": "",
                "operationId": "HeadListContainers",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifies the subdomain whose container subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect container subdomains as well, i.e., container of the container, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sub-domains/{subDomainId}/containees": {
            "get": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Lists all containee subdomains of the given subdomain id",
                "description": "",
                "operationId": "ListContainees",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifies the subdomain whose containee subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect containee subdomains as well, i.e., containees of the containees, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SubDomain]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Lists all containee subdomains of the given subdomain id",
                "description": "",
                "operationId": "HeadListContainees",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifies the subdomain whose containee subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect containee subdomains as well, i.e., containees of the containees, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sub-domains/{subDomainId}/add-resources": {
            "post": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Add resources to a subdomain",
                "description": "All resources should belong to the same domain as the subdomain.\n    The order in which the list is updated is not guaranteed.\n    Maximum list size == 1000.",
                "operationId": "AddResourcesToSubDomain",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifier of the subdomain to add the resources",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "resources",
                        "description": "Specify IDs of the resources to be added",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SubDomainResourceSet"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/AddResourcesToSubDomainReport"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "415": {
                        "description": "Unsupported Media Type"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sub-domains/{subDomainId}/containees/count": {
            "get": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Count containee subdomains of the given subdomain id",
                "description": "",
                "operationId": "CountContainees",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifies the subdomain whose containee subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect containee subdomains as well, i.e., containees of the containees, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SubDomain]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Count containee subdomains of the given subdomain id",
                "description": "",
                "operationId": "HeadCountContainees",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifies the subdomain whose containee subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect containee subdomains as well, i.e., containees of the containees, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sub-domains/{subDomainId}/containers/count": {
            "get": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Count container subdomains of the given subdomain id",
                "description": "",
                "operationId": "CountContainers",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifies the subdomain whose container subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect container subdomains as well, i.e., container of the container, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[SubDomain]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Count container subdomains of the given subdomain id",
                "description": "",
                "operationId": "HeadCountContainers",
                "parameters": [
                    {
                        "name": "subDomainId",
                        "in": "path",
                        "description": "Identifies the subdomain whose container subdomains are to be listed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "recursive",
                        "in": "query",
                        "description": "If true, returns indirect container subdomains as well, i.e., container of the container, etc.",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/sub-domains/count": {
            "get": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Count the subdomains in the market",
                "description": "",
                "operationId": "CountSubDomains",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit subdomains by domain ID",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "sub-domains"
                ],
                "summary": "Count the subdomains in the market",
                "description": "",
                "operationId": "HeadCountSubDomains",
                "parameters": [
                    {
                        "name": "domainId",
                        "in": "query",
                        "description": "Optional query to limit subdomains by domain ID",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/tag-keys/{tagKey}/tag-values": {
            "get": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Get all of the tag values for a given tag key",
                "description": "",
                "operationId": "ListTagValues",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key whose tag values are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[TagValue]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Get all of the tag values for a given tag key",
                "description": "",
                "operationId": "HeadListTagValues",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key whose tag values are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Create a tag value for a specific tag key",
                "description": "The key in the TagValue object is optional and ignored on create",
                "operationId": "CreateTagValue",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key for the tag value being created",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tagValueObject",
                        "description": "Specification defining a tag value",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TagValue"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/TagValue"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/tag-keys/{tagKey}/tag-values/{tagValue}": {
            "get": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Get a specific tag value from the market",
                "description": "",
                "operationId": "GetTagValue",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key whose tag value is being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tagValue",
                        "in": "path",
                        "description": "Tag value to get",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TagValue"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Get a specific tag value from the market",
                "description": "",
                "operationId": "HeadGetTagValue",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key whose tag value is being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tagValue",
                        "in": "path",
                        "description": "Tag value to get",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Update a tag value based on the data in the provided instance",
                "description": "",
                "operationId": "UpdateTagValue",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key for the tag value being updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tagValue",
                        "in": "path",
                        "description": "Tag value being updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tagValueObject",
                        "description": "Specification defining a tag value",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TagValue"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TagValue"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Delete a tag value",
                "description": "",
                "operationId": "DeleteTagValue",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key for the tag value being deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tagValue",
                        "in": "path",
                        "description": "Tag value being deleted",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Patch update a tag value based on the data in the provided instance",
                "description": "",
                "operationId": "PatchTagValue",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key for the tag value being updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tagValue",
                        "in": "path",
                        "description": "Tag value being updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tagValueObject",
                        "description": "Partial tag value defining the fields to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TagValue"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TagValue"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/tag-keys": {
            "get": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Get all of the tag keys in the market",
                "description": "",
                "operationId": "ListTagKeys",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[TagKey]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Get all of the tag keys in the market",
                "description": "",
                "operationId": "HeadListTagKeys",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Create a tag key in the market using the information in the provided tag key object",
                "description": "",
                "operationId": "CreateTagKey",
                "parameters": [
                    {
                        "in": "body",
                        "name": "tagKeyObject",
                        "description": "Specification defining a tag key",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TagKey"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/TagKey"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/tag-keys/count": {
            "get": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Count the tag keys in the market",
                "description": "",
                "operationId": "CountTagKeys",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Count the tag keys in the market",
                "description": "",
                "operationId": "HeadCountTagKeys",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/tag-keys/{tagKey}": {
            "get": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Get a specific tag key from the market",
                "description": "",
                "operationId": "GetTagKey",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": " Requested tag key",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TagKey"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Get a specific tag key from the market",
                "description": "",
                "operationId": "HeadGetTagKey",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": " Requested tag key",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "put": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Update a tag key in the market based on the data in the provided instance",
                "description": "",
                "operationId": "UpdateTagKey",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tagKeyObject",
                        "description": "Specification defining a tag key",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TagKey"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TagKey"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Delete a tag key from the market",
                "description": "",
                "operationId": "DeleteTagKey",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "patch": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Patch update a tag key in the market based on the data in the provided instance",
                "description": "",
                "operationId": "PatchTagKey",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tagKeyObject",
                        "description": "Partial tag key object specifying data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TagKey"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TagKey"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/tag-keys/{tagKey}/tag-values/count": {
            "get": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Count tag values for a given tag key",
                "description": "",
                "operationId": "CountTagValues",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key whose tag values are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "tag-keys"
                ],
                "summary": "Count tag values for a given tag key",
                "description": "",
                "operationId": "HeadCountTagValues",
                "parameters": [
                    {
                        "name": "tagKey",
                        "in": "path",
                        "description": "Tag key whose tag values are being requested",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/tenants/resync": {
            "post": {
                "tags": [
                    "tenants"
                ],
                "summary": "Do a full reset of the tenants in bpocore to mirror the current state of Tron",
                "description": "",
                "operationId": "ResyncTenants",
                "parameters": [],
                "responses": {
                    "202": {
                        "description": "Accepted"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/tenants/{tenantId}": {
            "get": {
                "tags": [
                    "tenants"
                ],
                "summary": "Get a tenant by Id",
                "description": "",
                "operationId": "GetTenant",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Tenant"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "tenants"
                ],
                "summary": "Get a tenant by Id",
                "description": "",
                "operationId": "HeadGetTenant",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/type-artifacts/realm": {
            "get": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Get information on the type layer itself",
                "description": "This resource contains metadata on the type layer itself. This metadata can be used to determine the\n      status of pending type definition on-boarding operations. Specifically, the content of the response can be\n      compared against the result of an accepted pull request to determine whether the changes have finished propagating\n      into market. The version represents the latest commit fully incorporated into the type layer. The headCommit is\n      the latest accepted commit in the asset area. The property current is set to true when those values match.",
                "operationId": "GetTypeLayerVersion",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TypeLayerCurrentReply"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Get information on the type layer itself",
                "description": "This resource contains metadata on the type layer itself. This metadata can be used to determine the\n      status of pending type definition on-boarding operations. Specifically, the content of the response can be\n      compared against the result of an accepted pull request to determine whether the changes have finished propagating\n      into market. The version represents the latest commit fully incorporated into the type layer. The headCommit is\n      the latest accepted commit in the asset area. The property current is set to true when those values match.",
                "operationId": "HeadGetTypeLayerVersion",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/type-artifacts": {
            "get": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Get all of the type artifacts in the market",
                "description": "",
                "operationId": "ListTypeArtifacts",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[TypeArtifactDigest]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Get all of the type artifacts in the market",
                "description": "",
                "operationId": "HeadListTypeArtifacts",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/type-artifacts/count": {
            "get": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Count the type artifacts in the market",
                "description": "",
                "operationId": "CountTypeArtifacts",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[TypeArtifactDigest]"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Count the type artifacts in the market",
                "description": "",
                "operationId": "HeadCountTypeArtifacts",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/type-artifacts/realm/validate": {
            "post": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Validate the current model in the definition realm",
                "description": "Verifies that the currently used model in the definition realm is fully compliant",
                "operationId": "ValidateDefinitionRealm",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ValidateDefinitionRealmReply"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error"
                    }
                }
            }
        },
        "/bpocore/market/api/v1/type-artifacts/{typeArtifactUri}": {
            "get": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Get a type artifact by Id",
                "description": "",
                "operationId": "GetTypeArtifact",
                "parameters": [
                    {
                        "name": "typeArtifactUri",
                        "in": "path",
                        "description": "Identifier of the type artifact being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TypeArtifactDefinition"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "type-artifacts"
                ],
                "summary": "Get a type artifact by Id",
                "description": "",
                "operationId": "HeadGetTypeArtifact",
                "parameters": [
                    {
                        "name": "typeArtifactUri",
                        "in": "path",
                        "description": "Identifier of the type artifact being queried",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/configmgmt/api/v1/backupImages": {
            "get": {
                "tags": [
                    "Configuration Details v1"
                ],
                "summary": "Retrieve all available Backups given the Network Element.",
                "description": "Get all Backups of given Network Element as a JSON list of objects \n<p>Prerequiste: Successfull Backup operation must executed to retrieve available images.",
                "operationId": "getAllBackupImages",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "nename",
                        "in": "query",
                        "description": "Retrieve all backup images for an NE.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "netype",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of backup images for a Network Element",
                        "schema": {
                            "$ref": "#/definitions/NeBackupImagesResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve backup images",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of backup images failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/backupRestoreStatus": {
            "get": {
                "tags": [
                    "Configuration Details v1"
                ],
                "summary": "Retrieve Backup and Restore operation status of Network Elements",
                "description": "List of Network Element(s) Backup and Restore status returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getNeBackupRestoreStatus",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Element(s) Backup and Restore status",
                        "schema": {
                            "$ref": "#/definitions/NeBackupRestoreStatusList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve Backup and Restore status",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Backup and Restore status failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/batches": {
            "get": {
                "tags": [
                    "Batch Management v1"
                ],
                "summary": "Retrieve existing Batches.",
                "description": "Get all existing Batches as a JSON list of objects. \n<p>Prerequiste: None.",
                "operationId": "getAllConfigMgmtBatches",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Batches fetched",
                        "schema": {
                            "$ref": "#/definitions/BatchStatusList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Batches are not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/batches/{batchId}": {
            "get": {
                "tags": [
                    "Batch Management v1"
                ],
                "summary": "Retrieve Batch given the Batch Id.",
                "description": "Get Batch as a JSON object of given Batch Id. \n<p>Prerequiste: Batches must exist for specified batchId.",
                "operationId": "getConfigMgmtBatch",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "batchId",
                        "in": "path",
                        "description": "The batchId used for lookup inside created batch",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Batch fetched",
                        "schema": {
                            "$ref": "#/definitions/BatchStatus"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Batch is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "put": {
                "tags": [
                    "Batch Management v1"
                ],
                "summary": "Updates Batch attributes for a batch",
                "description": "Updates Batch attributes for a batch. \n<p>Prerequiste: Batch must exist.",
                "operationId": "updateBatches",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The batch attributes to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BatchStatus"
                        }
                    },
                    {
                        "name": "batchId",
                        "in": "path",
                        "description": "Update batch associated with given batchId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Batch updated",
                        "schema": {
                            "$ref": "#/definitions/BatchStatus"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/bgpconfiguration/{nename}": {
            "get": {
                "tags": [
                    "Provision BGP nodal commissioning"
                ],
                "summary": "GET bgp configuration",
                "description": "GET bgp configuration \n<p>Prerequiste: Bgp configuration is expected to exist.",
                "operationId": "getBGPConfiguration",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "nename",
                        "in": "path",
                        "description": "The nename is used for bgp configuration lookup",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "BGP configuration retrieved"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/bgpsessions": {
            "post": {
                "tags": [
                    "CreateEdit BGP session v1"
                ],
                "summary": "Create Edit BGP session",
                "description": "This API creates, edits or delete a BGP session. \n<p>The following attributes can be specified in the request:<ul><li>action - action for operations. Values are 'create' and 'update' <li>addressFamilies - address family. Values are 'unicast' and labelled-unicast' <li>bfdMonitor - Values are 'shop' and 'mhop'. shop:singlehop BFD session, mhop: Multi hop bfd session\n<li>bgpBest2  - The key is to determine best-2 setting for BGP PIC configuration.\n<li>bgpDiversePath - The key is used to determine diverse_path setting for BGP PIC configuration.\n<li>description - Description of BGP session<li>vpnUnicast - To enable vpn-unicast<li>keepaliveTime - Keep alive time of BGP session <li>holdTime - Hold time of BGP session <li>advertisementInterval - Advertisement interval time of BGP session <li>grEnabled - Values are true or false \n<p>aEnd or zEnd attributes \n<li>neName - NE name or Management ip can be used<li>ipInterface - Used for bgp session on interface<li>nodeRole - Used for node role of NE. Values are 'AN', 'AGN'<li>peerAs - Used for peer as number of bgp session<li>peerIp - Used for peer ip of bgp session<li>shelf - Shelf no of NE<li>group - Equipmentgroup no of NE<li>rrEnabled - rrEnabled = true determines the server end of the session.<li>isSecretMode - True if password is in encrypted format else False.<li>authenticationPassword - authentication password of bgp session.<li>orf - orf values for bgp session.<li>prefixList - prefixList values for bgp session.<li>routeMap - routeMap values for bgp session.<li>nextHopSelf - nextHopSelf values for bgp session.<li>addPaths - addPath values for bgp session. Capability values are send/receive/both and advertise values are all/best-2/best-3<p>Deletion of BGP session : \n<li>action - action for operations. Value is 'delete' <li>neName - NE name or Management ip can be used<li>ipInterface - Used for bgp session on interface</ul>",
                "operationId": "createBGPSession",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Create, Update or Delete BGP session",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CreateBGPSessionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Create or Edit BGP session request is executed."
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/bulkOperations/assignSegmentIdentifier": {
            "post": {
                "tags": [
                    "000 - configmgmtapiv1bulkOperations"
                ],
                "summary": "Assign segment identifier to segment routing enabled network elements",
                "description": "",
                "operationId": "assignSegmentIdentifier",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "assignmentType",
                        "in": "formData",
                        "description": "assignmentType of segment identifier",
                        "required": true,
                        "type": "string",
                        "enum": [
                            "index"
                        ]
                    },
                    {
                        "name": "typeGroup",
                        "in": "formData",
                        "description": "typeGroup of segment routing enabled network elements",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareVersion",
                        "in": "formData",
                        "description": "softwareVersion of segment routing enabled network elements",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "formData",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/BulkOperationsResponse"
                        }
                    },
                    "201": {
                        "description": "Operation executed successfully",
                        "schema": {
                            "$ref": "#/definitions/BulkOperationsResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to find resource to carry out bulk operations",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/bulkOperations/getNEResourcesOfOperation": {
            "get": {
                "tags": [
                    "000 - configmgmtapiv1bulkOperations"
                ],
                "summary": "Retrieve network construct resources of a bulk operation",
                "description": "Collection of resources of the bulk operation returned as a JSON objects\n<p>Prerequiste: None.",
                "operationId": "retrieveNEResourcesOfOperation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "operationType",
                        "in": "query",
                        "description": "Operation Type",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time of the operation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. Allowed value is: state",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/OperationNEResourceCollection"
                        }
                    },
                    "201": {
                        "description": "Collection of resources of bulk operation(s)",
                        "schema": {
                            "$ref": "#/definitions/OperationNEResourceCollection"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to find resource to retrieve network construct resources of bulk operation",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of network construct resources of bulk operation failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/bulkOperations/getProgressOfOperation": {
            "get": {
                "tags": [
                    "000 - configmgmtapiv1bulkOperations"
                ],
                "summary": "Retrieve progress status of bulk operation",
                "description": "Progress status of bulk operation returned as a JSON objects\n<p>Prerequiste: None.",
                "operationId": "retrieveProgressStatusOfOperations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "operationType",
                        "in": "query",
                        "description": "Operation Type",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time of the operation",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/OperationProgressStatus"
                        }
                    },
                    "201": {
                        "description": "Progress status of bulk operation(s)",
                        "schema": {
                            "$ref": "#/definitions/OperationProgressStatus"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to find resource to retrieve progress status of the bulk operation",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of progress status of the  bulk operation failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/bulkOperations/getStatusOfOperations": {
            "get": {
                "tags": [
                    "000 - configmgmtapiv1bulkOperations"
                ],
                "summary": "Retrieve status of bulk operations",
                "description": "Collection of status of bulk operations returned as a JSON objects\n<p>Prerequiste: None.",
                "operationId": "retrieveStatusOfOperations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) List of comma separated operation IDs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "(Optional) List of comma separated operation types",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "(Optional) List of operation states. Allowed values: completed, inprogress, failed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fromRecentOperationTime",
                        "in": "query",
                        "description": "(Optional) Start time of the operation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toRecentOperationTime",
                        "in": "query",
                        "description": "(Optional) End time of the operation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. Allowed value is: state",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/OperationStatusCollection"
                        }
                    },
                    "201": {
                        "description": "Collection of status of bulk operation(s)",
                        "schema": {
                            "$ref": "#/definitions/OperationStatusCollection"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to find resource to retrieve status of bulk operations",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of status of bulk operations failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/commissioning": {
            "get": {
                "tags": [
                    "Commissioning v1"
                ],
                "summary": "Retrieve Commissioning Settings of Network Elements",
                "description": "List of Network Element(s) with Commissioning Settings details returned as a JSON list of objects \n <p>Prerequisite: One of the following parameter is required along with Commissioning Function: <ul><li>neNames - List of comma separated neName values<li>typeGroup - List of networkConstruct typeGroups<li>resourceType - List of networkConstruct resourceTypes<li>ipAddress- Ip Address of Network Construct</ul>",
                "operationId": "getCommissioningSettings",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "function",
                        "in": "query",
                        "description": "Commissioning Function",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "neNames",
                        "in": "query",
                        "description": "(Optional) List of comma separated neName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct typeGroups",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceTypes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: associationState,resourceType , typeGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Element(s) details with Commissioning Settings details",
                        "schema": {
                            "$ref": "#/definitions/CommissioningSettingDetailsList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve Network element upgrade details",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Network element upgrade details failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Commissioning v1"
                ],
                "summary": "Apply a commissioning profile of selected Function on a list of Network Elements",
                "description": "<p>Upon success, code 200 is returned.<p>Prerequisite: The following attributes should be specified in the post request:<ul><li>functionName - The commissioning function to be applied<li>commissioningProfiles - The Id of the commissioningProfile<li>networkConstructs - The Network Construct Id of NEs on which the commissioningProfile to be applied</ul><p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"id\": \"0d9b7924-ad50-48ab-aa0a-3d86f5651617\",\n        \"type\": \"commissioning\",\n        \"attributes\": {\n            \"resyncNE\": false,\n            \"functions\": [\n                {\n                    \"functionName\": \"VRF\",\n                    \"relationships\": {\n                        \"commissioningProfile\": {\n                            \"data\": {\n                                \"type\": \"commissioningProfiles\",\n                                \"id\": \"c32b62bc-1f67-4d07-9b80-5c7cd4ea18bf\"\n                            }\n                        }\n                    }\n                }\n            ]\n        },\n        \"relationships\": {\n            \"networkConstructs\": {\n                \"data\": [\n                    {\n                        \"type\": \"networkConstructs\",\n                        \"id\": \"473cca67-a2db-3bd2-a471-c8d1a8466064\"\n                    },\n                    {\n                        \"type\": \"networkConstructs\",\n                        \"id\": \"ee5f3f35-3c67-3200-8f5c-03bcdc38ada3\"\n                    }\n                ]\n            }\n        }\n    }\n}</code></pre>",
                "operationId": "applyFunctionAndProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Apply a commissioning profile of selected Function on a list of Network Elements",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/Commissioning"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Commissioning is applied.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource Not Found.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "422": {
                        "description": "No request body was provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/commissioning/{function}/remove": {
            "post": {
                "tags": [
                    "Commissioning v1"
                ],
                "summary": "Delete Commissioning Settings from Network Elements",
                "description": "<p>Upon success, code 200 is returned.<p>Prerequisite: The following attributes should be specified in the post request:<ul><li>functionName - The commissioning function to be applied<li>neCommissioningDetails - The Network Elements commissioning settings to be deleted</ul><p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"type\": \"commissioning\",\n    \"attributes\": {\n      \"neCommissioningDetails\": [\n        {\n          \"neName\": \"5162-1_onxl8239\",\n          \"identifiers\": [\n            {\n              \"id\": \"isisInstanceNam1\"\n            }\n          ]\n        },\n        {\n          \"neName\": \"5162-2_onxl8239\",\n          \"identifiers\": [\n            {\n              \"id\": \"isisInstanceNam2\"\n            }\n          ]\n        }\n      ]\n    }\n  }\n}</code></pre>",
                "operationId": "deleteCommissioningRequest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "function",
                        "in": "path",
                        "description": "Commissioning Function",
                        "required": true,
                        "type": "string",
                        "default": "ISIS",
                        "enum": [
                            "ISIS"
                        ]
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Commissioning delete request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeleteCommissioningRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The delete commissioning request successfully completed",
                        "schema": {
                            "$ref": "#/definitions/DeleteCommissioningRequest"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Failed to find the commissioning settings requested for deletion",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/commissioningFunctions": {
            "get": {
                "tags": [
                    "Commissioning Functions v1"
                ],
                "summary": "Get a list of commissioning functions",
                "description": "Retrieves a list of commissioning functions\n <p>Prerequisite: None.",
                "operationId": "getCommissioningFunctions",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of Commissioning functions filtered by any provided parameters",
                        "schema": {
                            "$ref": "#/definitions/CommissioningFunctionList"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Commissioning functions failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/commissioningFunctions/profileMetaData": {
            "get": {
                "tags": [
                    "Commissioning Functions v1"
                ],
                "summary": "Get MetaData For Profile from Input Commissioning Function",
                "description": "Retrieves Metadata for Profiles Specific to Commissioning Function\n <p>Prerequisite: None.",
                "operationId": "getCommissioningProfileMetaDataForFunction",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "function",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroups",
                        "in": "query",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile MetaData Filtered for Input Function",
                        "schema": {
                            "$ref": "#/definitions/JSONObject"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Profile MetaData failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/commissioningProfiles": {
            "get": {
                "tags": [
                    "Commissioning Profiles v1"
                ],
                "summary": "Get a list of commissioning profiles",
                "description": "Retrieves a list of commissioning profiles\n <p>Prerequisite: None.",
                "operationId": "getCommissioningProfiles",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "List of commissioning Profiles Ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroups",
                        "in": "query",
                        "description": "(Optional) List of type Group for Commissioning profile",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "function",
                        "in": "query",
                        "description": "The commissioning Profiles by function to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileName",
                        "in": "query",
                        "description": "List of commissioning profiles names.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "in": "query",
                        "description": "The commissioning profiles by description to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileType",
                        "in": "query",
                        "description": "The commissioning profiles by profileType to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: typeGroups, function, profileType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Ccmmissioning profiles filtered by any provided parameters",
                        "schema": {
                            "$ref": "#/definitions/CommissioningProfileList"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of commissioning profiles failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Commissioning Profiles v1"
                ],
                "summary": "Creates a new commissioning profile",
                "description": "<p>Upon success, code 201 is returned.<p>Prerequiste: The following attributes should be specified in the post request:<ul><li>typeGroups - The associated typeGroups<li>function - The associated function<li>profileName - The name of the commissioning profile<li>profileData - The list of key/value pair</ul><p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"type\": \"commissioningProfile\",\n        \"attributes\": {\n            \"typeGroups\": [\"Ciena6500\"],\n            \"function\": \"NTP\",\n            \"profileName\": \"A Test NTP Profile\",\n            \"description\": \"A Test NTP Profile\",\n            \"profileData\": [\n                {\n                    \"key\": \"NTP Server1 IP\",\n                    \"value\": \"10.186.0.220\"\n                },\n                {\n                    \"key\": \"NTP Server2 IP\",\n                    \"value\": \"10.186.3.98\"\n                }\n            ],\n            \"profileType\": \"Custom\",\n            \"role\": \"AN\"\n        }\n    }\n}</code></pre>",
                "operationId": "createCommissioningProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Create commissioning profile",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CommissioningProfile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/CommissioningProfile"
                        }
                    },
                    "201": {
                        "description": "CommissioningProfile object is created.",
                        "schema": {
                            "$ref": "#/definitions/CommissioningProfile"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource Not Found.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "422": {
                        "description": "No request body was provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/commissioningProfiles/{commissioningProfileId}": {
            "delete": {
                "tags": [
                    "Commissioning Profiles v1"
                ],
                "summary": "Delete the commissioning profile \n ",
                "description": "<p>Prerequiste: The following attributes should be specified in the request:<ul><li>commissioningProfileId - commissioningProfile  id</ul>",
                "operationId": "deleteCommissioningProfile",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "commissioningProfileId",
                        "in": "path",
                        "description": "The commissioning profile with id to be removed.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Commissioning profile is successfully deleted"
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Commissioning profile not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Commissioning Profiles v1"
                ],
                "summary": "Perform update of commissioning profile",
                "description": "<p>Upon success, code 200 is returned\n <p>Prerequisite: <p>Only profileData attribute is allowed to update<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"type\": \"commissioningProfile\",\n        \"attributes\": {\n            \"profileData\": [\n                {\n                    \"key\": \"NTP Server1 IP\",\n                    \"value\": \"10.186.0.220\"\n                }\n            ]\n        }\n    }\n}</code></pre>",
                "operationId": "updateCommissioningProfile",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "commissioningProfileId",
                        "in": "path",
                        "description": "Identifier of the commissioningProfile",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The partial Commissioning Profile data to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CommissioningProfile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/CommissioningProfile"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Commissioning profile not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/customScripts": {
            "get": {
                "tags": [
                    "Custom Scripts v1"
                ],
                "summary": "Retrieve custom scripts",
                "description": "Custom scripts returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getCustomScripts",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "TypeGroup of the custom scripts",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "protocolType",
                        "in": "query",
                        "description": "Protocol type of the custom scripts",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "cli",
                            "tl1",
                            "netconf"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of custom scripts",
                        "schema": {
                            "$ref": "#/definitions/CustomScriptList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of custom scripts failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Custom Scripts v1"
                ],
                "summary": "Upload a custom script definitions",
                "description": "Upload a script into cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "uploadCustomScript",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "file",
                        "in": "formData",
                        "description": "The Input stream of the custom script file to be uploaded.",
                        "required": true,
                        "type": "file"
                    },
                    {
                        "name": "typeGroup",
                        "in": "formData",
                        "description": "TypeGroup for which this custom script file is uploaded",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "protocolType",
                        "in": "formData",
                        "description": "Protocol type of the custom script file",
                        "required": true,
                        "type": "string",
                        "enum": [
                            "cli",
                            "tl1",
                            "netconf"
                        ]
                    },
                    {
                        "name": "scriptName",
                        "in": "formData",
                        "description": "Name of the custom script",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "in": "formData",
                        "description": "description of custom script",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/CustomScriptList"
                        }
                    },
                    "201": {
                        "description": "Custom script successfully uploaded",
                        "schema": {
                            "$ref": "#/definitions/CustomScriptList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/customScripts/scriptStatus": {
            "get": {
                "tags": [
                    "Custom Scripts v1"
                ],
                "summary": "Retrieve custom script status of Network Elements",
                "description": "Custom scripts status returned as a JSON list of objects for Network elements \n <p>Prerequiste: None.",
                "operationId": "getCustomScriptsStatus",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Custom scripts status for list of Network Element(s)",
                        "schema": {
                            "$ref": "#/definitions/CMOperationStatusList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of custom scripts status failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/customScripts/{id}": {
            "get": {
                "tags": [
                    "Custom Scripts v1"
                ],
                "summary": "download a custom script definition",
                "description": "download a custom script from cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "downloadCustomScript",
                "produces": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Custom script id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Custom script successfully downloaded"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Custom Scripts v1"
                ],
                "summary": "deleteCustomScript a script definition",
                "description": "deleteCustomScript a script from cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "deleteCustomScript",
                "produces": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Custom script id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Custom script successfully deleted"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/deleteBatch": {
            "post": {
                "tags": [
                    "Batch Management v1"
                ],
                "summary": "Delete the Batches given the batchRemoveRequest.",
                "description": "Delete the Batches for given Batch Ids. \n <p>Prerequisites: The following attributes should be specified in the request:<ul><li>id - Any string<li>batchIds - The list of Batch Ids comma separated</ul>",
                "operationId": "deleteConfigMgmtBatch",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Batch removal request having list of batch ids.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BatchRemoveRequest"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Batches are deleted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Batches are not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/doc": {
            "get": {
                "tags": [
                    "DOC v1"
                ],
                "summary": "Retrieve DOC configuration of NEs",
                "description": "Get DOC configuration for NEs \n<p>Attributes: <ul><li>networkConstructNames - List of comma networkConstructs name </ul><p>Prerequiste: None.",
                "operationId": "getDOCs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstructNames",
                        "in": "query",
                        "description": "Networkconstruct Names for which config DOCs to be retrieved.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Config DOCs fetched",
                        "schema": {
                            "$ref": "#/definitions/ConfigDOCResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "DOC v1"
                ],
                "summary": "Edit DOCs configuration (enable/disable) on NEs",
                "description": "Edit DOCs configuration on NEs \n<p>Prerequiste: The following attributes should be specified in the post request:<ul><li>operationType - the operation to invoke enable/disable <p>docDetails \n<li>networkConstructName - The name of Network Element on which operation is invoked<li>docNames - Array of Doc names on which operation is invoked</ul>",
                "operationId": "editDOCs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Edit DOCs",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/EditDOC"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Edit DOCs successful",
                        "schema": {
                            "$ref": "#/definitions/ConfigDOCResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/jobs": {
            "get": {
                "tags": [
                    "Network Element Configuration Job Management v1"
                ],
                "summary": "Retrieve job status of all executed or scheduled jobs.",
                "description": "Get jobs status as a list of JSON objects of all executed or scheduled jobs given the job id \n<p>Prerequiste: None.",
                "operationId": "getAllConfigMgmtJobs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "scriptName",
                        "in": "query",
                        "description": "The job name used for current status of a config job lookup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "cmdFileName",
                        "in": "query",
                        "description": "The name of the custom script command file name",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieve all job status",
                        "schema": {
                            "$ref": "#/definitions/ConfigMgmtJobResponse"
                        }
                    },
                    "404": {
                        "description": "Network element configuration job is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Network Element Configuration Job Management v1"
                ],
                "summary": "Execute network element configuration job",
                "description": "This API validates user input and execute or schedule a network element configuration job. \n<p>Prerequiste: The following attributes should be specified in the post request:<ul><li>maxConnections - maximum connection <li>scheduleTime - time to when the job should be executed<li>scriptName - script name <li>profileName - profile name <li>type - type of job (eg: job)<li>neName - network element name<li>neType - network element type</ul>",
                "operationId": "createConfigMgmtJob",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Execute job user input as JSON wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/UserInput"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Network element configuration job is executed and scheduled."
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/jobs/{jobId}": {
            "get": {
                "tags": [
                    "Network Element Configuration Job Management v1"
                ],
                "summary": "Retrieve the job status given the job id.",
                "description": "Get the job status as a JSON object given the job id \n<p>Prerequiste: Jobs must exist for specified jobId.",
                "operationId": "getConfigMgmtJob",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "The job execution id used for current status of a config job lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieve job status",
                        "schema": {
                            "$ref": "#/definitions/ConfigMgmtJobResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Network element configuration job is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Network Element Configuration Job Management v1"
                ],
                "summary": " Delete a job",
                "description": "Delete a job \n<p>Prerequiste: Jobs must exist for specified jobId.",
                "operationId": "deleteConfigMgmtJob",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "The job execution id used for current status of a config job lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Job deleted"
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Network element configuration job is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Network Element Configuration Job Management v1"
                ],
                "summary": "Update a job based on the jobId",
                "description": "This API updates the config job execution attributes.\n <p>Prerequiste: Jobs must exist for specified jobId.",
                "operationId": "patchConfigMgmtJobPatch",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "The job execution id used for current status of a config job lookup",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Update config job execution user input attributes as JSON wrapper object",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Config job attributes are updated and scheduled",
                        "schema": {
                            "$ref": "#/definitions/UserInput"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/lag/provisioning": {
            "post": {
                "tags": [
                    "Create?EditDelete a LAG and addremove LAG members."
                ],
                "summary": "LAG Provisioning operation",
                "description": "This API is to provision LAG.\n <p>Prerequisite: None.",
                "operationId": "lagProvisioning",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Create, Update or Delete lag",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LagProvisioningRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok"
                    },
                    "201": {
                        "description": "LAG Provisioning operation executed successfully."
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "401": {
                        "description": "Unauthorzed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/mhopbfdsessions": {
            "get": {
                "tags": [
                    "Create BFD session v1"
                ],
                "summary": "Get BFD session",
                "description": "This API returns a BFD session created on the NE. \n<p>Prerequisites: The following attributes should be specified in the get request:<ul><li>sourceNE - name of the source NE <li>neighbourNE (Optional) - name of the remote NE</ul>",
                "operationId": "getBFDSessions",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sourceNE",
                        "in": "query",
                        "description": "Source NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "remoteNE",
                        "in": "query",
                        "description": "(Optional) Remote NE",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "BFD sessions retrieved"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Create BFD session v1"
                ],
                "summary": "Create BFD session",
                "description": "This API creates a BFD session between two NEs. \n<p>Prerequisites: The following attributes should be specified in the post request:<ul><li>bfdSessionName - name of the BFD session <li>sourceNE - name of the source NE <li>neighbourNE - name of the neighbour NE<li>bfdProfileName - name of bfd profile to be used (optional parameter)</ul>",
                "operationId": "createBFDSession",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Create BFD session",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CreateBFDSessionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Create BFD session request is executed."
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Create BFD session v1"
                ],
                "summary": "Delete BFD session",
                "description": "This API deletes a BFD session between two NEs. \n<p>Prerequisites: The following attributes should be specified in the post request:<ul><li>bfdSessionName - name of the BFD session <li>sourceNE - name of the source NE <li>neighbourNE - name of the neighbour NE</ul>",
                "operationId": "deleteBFDSession",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Delete BFD session",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeleteBFDSessionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete BFD session request is executed."
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/neBackups": {
            "post": {
                "tags": [
                    "Network Element Backup v1"
                ],
                "summary": "Execute network element NE Backup",
                "description": "This API validates user input and execute or schedule a network element  Backup. \n<p>Prerequiste: The following attributes should be specified in the post request:<ul><li>maxConnections - maximum connection <li>scheduleTime - time to when the job should be executed<li>scriptName - script name <li>profileName - profile name <li>type - type of job (eg: job)<li>neName - network element name<li>neType - network element type</ul>",
                "operationId": "createConfigMgmtBackup",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Execute job user input as JSON wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/UserInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/neMaintenanceDetails": {
            "get": {
                "tags": [
                    "Network Elements Maintenance Details Resource v1"
                ],
                "summary": "Retrieve Maintenance details of Network Elements",
                "description": "List of Network Element(s) Maintenance details returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getNetworkElementsMaintenance",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "List of networkConstruct Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "List of networkConstruct names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "longName",
                        "in": "query",
                        "description": "(Optional) List of comma separated longName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "List of Management Session Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceTypes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct typeGroups",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. The allowed values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "syncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. The allowed values are: notSynchronized, synchronizing, synchronized, failed, aborted, deleting, deleteFailed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subnetName",
                        "in": "query",
                        "description": "(Optional) SubnetName of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareActiveVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct software versions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "recentOperation",
                        "in": "query",
                        "description": "(Optional) List of Recent operations. The allowed values are: Download, Upgrade, PostUpgrade, CommitUpgrade, CancelUpgrade, FULLUPGRADE, BACKUP, RESTORE, SCRIPT, CUSTOM_SCRIPT",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nextOperation",
                        "in": "query",
                        "description": "(Optional) List of Next operations. The allowed values are: Download, Upgrade, PostUpgrade, CommitUpgrade, CancelUpgrade, FULLUPGRADE, BACKUP, RESTORE, SCRIPT, CUSTOM_SCRIPT",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "recentOperationState",
                        "in": "query",
                        "description": "(Optional) Recent operation state of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "recentOperationProgressState",
                        "in": "query",
                        "description": "(Optional) Recent operation progress state of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareAvailableVersion",
                        "in": "query",
                        "description": "(Optional) Software version available on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "backupSchedule",
                        "in": "query",
                        "description": "(Optional) List of backup schedules for Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "upgradeSchedule",
                        "in": "query",
                        "description": "(Optional) List of upgrade schedules for Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "customScriptSchedule",
                        "in": "query",
                        "description": "(Optional) List of customScript schedules for Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fromRecentOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of recent operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toRecentOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of recent operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fromNextOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of next operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toNextOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of next operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) Resource partition info",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifier",
                        "in": "query",
                        "description": "(Optional) Association state qualifier. The allowed values are MANUAL, SYSTEM, NETWORK",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, syncState, softwareActiveVersion, associationStateQualifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Element(s) maintenance details",
                        "schema": {
                            "$ref": "#/definitions/NeMaintenanceDetailsList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve Network element maintenance details",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Network element maintenance details failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/neRestores": {
            "post": {
                "tags": [
                    "Network Element Restore v1"
                ],
                "summary": "Execute network element Restore",
                "description": "This API validates user input and execute or schedule a network element Restore. \n<p>Prerequiste: The following attributes should be specified in the post request:<ul><li>maxConnections - maximum connection <li>scheduleTime - time to when the job should be executed<li>scriptName - script name <li>profileName - profile name <li>type - type of job (eg: job)<li>neName - network element name<li>neType - network element type</ul>",
                "operationId": "configMgmtRestore",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Execute job user input as JSON wrapper object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/UserInput"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/neUpgradeDetails": {
            "get": {
                "tags": [
                    "Network Elements Upgrade Details Resource v1"
                ],
                "summary": "Retrieve upgrade details of Network Elements",
                "description": "List of Network Element(s) upgrade details returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getNetworkElementsMaintenance",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "List of networkConstruct Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "List of networkConstruct names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "longName",
                        "in": "query",
                        "description": "(Optional) List of comma separated longName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "List of Management Session Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceTypes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct typeGroups",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. The allowed values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "syncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. The allowed values are: notSynchronized, synchronizing, synchronized, failed, aborted, deleting, deleteFailed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subnetName",
                        "in": "query",
                        "description": "(Optional) SubnetName of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareActiveVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct software versions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareAvailableVersion",
                        "in": "query",
                        "description": "(Optional) Software version available on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "upgradeSchedules",
                        "in": "query",
                        "description": "(Optional) List of upgrade schedules for Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "releaseMgmtSchedules",
                        "in": "query",
                        "description": "(Optional) List of releaseMgmt schedules for Network Constructs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "upgradeStage",
                        "in": "query",
                        "description": "(Optional) List of upgrade stages for Network Constructs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "upgradeStatus",
                        "in": "query",
                        "description": "(Optional) List of upgrade status for Network Constructs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "manualInvokeOnCards",
                        "in": "query",
                        "description": "(Optional) Network Constructs with manual Invoke ",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) Resource partition info",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifier",
                        "in": "query",
                        "description": "(Optional) Association state qualifier. The allowed values are MANUAL, SYSTEM, NETWORK",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, syncState, softwareActiveVersion, associationStateQualifier, upgradeStage, upgradeStatus, manualInvokeOnCards",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Element(s) upgrade details",
                        "schema": {
                            "$ref": "#/definitions/NeUpgradeDetailsList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve Network element upgrade details",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Network element upgrade details failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/neUpgradeStatus": {
            "get": {
                "tags": [
                    "Upgrade operation v1"
                ],
                "summary": "Retrieve upgrade operation status of a Network Element based on ncId and operation type",
                "description": "Upgrade status returned as a JSON object indicating upgrade status of a Network element. \n <p>Prerequiste: None.",
                "operationId": "getNeUpgradeStatus",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncid",
                        "in": "query",
                        "description": "Management session id of an NE.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operationtype",
                        "in": "query",
                        "description": "Operation type of job execution on NE.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Upgrade status of a Network Element",
                        "schema": {
                            "$ref": "#/definitions/CMOperationStatus"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Retrieval of upgrade status failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/nes/{batchId}": {
            "get": {
                "tags": [
                    "Batch Management v1"
                ],
                "summary": "Retrieve Network Elements given the Batch Id.",
                "description": "Get all Network Elements given Batch Id as a JSON list of objects. \n<p>Prerequiste: Batches must exist for specified batchId.",
                "operationId": "getBatchedNes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "batchId",
                        "in": "path",
                        "description": "Retrieve all NEs associated with a batchId",
                        "required": true,
                        "type": "string",
                        "pattern": ".*"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of NEs associated with batch",
                        "schema": {
                            "$ref": "#/definitions/NeBackupRestoreStatusList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve batched NEs",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of batched NEs failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/packetmgmt/conflictingEntities": {
            "get": {
                "tags": [
                    "Managing Packet resources v1"
                ],
                "summary": "Retrieve Conflicting Entities.",
                "description": "Conflicting Sid Data",
                "operationId": "conflictingEntities",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "identifier",
                        "in": "query",
                        "description": "(Optional) Identifier, ConflictingSid or ConflictingLoop",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/ConflictingSid"
                        }
                    },
                    "201": {
                        "description": "Collection of information related to Conflicting Sid",
                        "schema": {
                            "$ref": "#/definitions/ConflictingSid"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve information related to Conflict Sid Data",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of information related to Conflicting Entites failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/packetmgmt/segmentRoutingEnabledNetworkElements": {
            "get": {
                "tags": [
                    "Managing Packet resources v1"
                ],
                "summary": "Retrieve Segment Routing Enabled Network Elements",
                "description": "List of Packet Resources details returned as a JSON list of objects\n <p>Prerequisite: None.",
                "operationId": "segmentRoutingEnabledNetworkElements",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceTypes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct typeGroups",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareActiveVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct software versions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "loopbackIpAddress",
                        "in": "query",
                        "description": "(Optional) Loopback IP Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "nodeSid",
                        "in": "query",
                        "description": "(Optional) Prefix SID of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. The allowed values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "recentOperation",
                        "in": "query",
                        "description": "(Optional) List of recent operations. Allowable values: sidAssignment",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "recentOperationState",
                        "in": "query",
                        "description": "(Optional) Recent operation state of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "recentOperationProgressState",
                        "in": "query",
                        "description": "(Optional) Recent operation progress state of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fromRecentOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of recent operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toRecentOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of recent operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) Resource partition info",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, softwareActiveVersion",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/PacketNEInfoCollection"
                        }
                    },
                    "201": {
                        "description": "Collection of information related to packet network elements",
                        "schema": {
                            "$ref": "#/definitions/PacketNEInfoCollection"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve information related to packet network elements",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of information related to packet network elements failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/parentPolicer": {
            "post": {
                "tags": [
                    "CreateUpdateDelete Parent Policer v1"
                ],
                "summary": "Create Parent Policer",
                "description": "This API Create Parent Policer. \n <p>Prerequiste: The following are the conditions and attributes should be specified in the post request:\"<ul><li>Parent Policer name to be created should not exist on NE<li>Either or both of NE name and NCID is Mandatory<li>neName - network element name<li>ncId - network construct id<li>parentPolicerName  - Name of the parent policer to create ,  this parameter is Mandatory <li>cir - cir value , this parameter is Mandatory<li>cbs - cbs value , this parameter is Mandatory<li>port - port associated with parent policer value , this parameter is recommended but not mandatory<li>reSyncInventory - Default is true , set to false to stop NE resync</ul>",
                "operationId": "createParentPolicerOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Parent Policer Create",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ParentPolicerCreateDetails"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": " Create parent policer operation successful"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "CreateUpdateDelete Parent Policer v1"
                ],
                "summary": "Update Parent Policer",
                "description": "This API Update Parent Policer. \n <p>Prerequiste: The following are the conditions and attributes should be specified in the patch request:\"<ul><li>Parent Policer to be updated should exist on NE<li>Either or both of NE name and NCID is Mandatory<li>Either or both of CIR and CBS can only be updated for a parent policer and is Mandatory<li>neName - network element name<li>ncId - network construct id<li>parentPolicerName  - Name of the parent policer , this parameter is Mandatory<li>cir - cir value<li>cbs - cbs value<li>reSyncInventory - Default is true , set to false to stop NE resync</ul>",
                "operationId": "updateParentPolicerOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Parent Policer Update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ParentPolicerUpdateDetails"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update parent policer operation successful"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "CreateUpdateDelete Parent Policer v1"
                ],
                "summary": "Delete Parent Policer",
                "description": "This API Delete Parent Policer. \n <p>Prerequiste: The following are the conditions and attributes should be specified in the delete request:\"<ul><li>Parent Policer to be deleted should exist on NE<li>No child should be assosicated with the parent policer to be deleted<li>Either or both of NE name and NCID is Mandatory<li>neName - network element name<li>ncId - network construct id<li>parentPolicerName  - Name of the parent policer , this parameter is Mandatory<li>reSyncInventory - Default is true , set to false to stop NE resync</ul>",
                "operationId": "deleteParentPolicerOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Parent Policer Delete",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ParentPolicerDeleteDetails"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": " Parent Policer deleted successful"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/port/deProvision": {
            "post": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "De-Provision a port",
                "description": "Port De-provisioning. \n <p>Prerequiste: None.\"",
                "operationId": "deProvisionPort",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "De-provisioning Details",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PortDeProvisioningDetails"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Port de-provisioned successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/port/mappings": {
            "get": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "Retrieve pec code maaping definitions",
                "description": "PecCode mapping definitions returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getAllPortRateMappings",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of pec code mapping definitions",
                        "schema": {
                            "$ref": "#/definitions/PortMappingList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Retrieval of pec code mapping definitions failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "Upload a pec code mapping definition",
                "description": "Upload a pec code mapping definition into cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "uploadPortRateMappingFile",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "file",
                        "in": "formData",
                        "description": "The Input stream of the pec code mapping definition to be uploaded.",
                        "required": true,
                        "type": "file"
                    },
                    {
                        "name": "name",
                        "in": "formData",
                        "description": "Name of the pec code mapping definition",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Pec code mapping definition successfully uploaded",
                        "schema": {
                            "$ref": "#/definitions/PortMapping"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/port/mappings/{id}": {
            "get": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "download a pec code mapping definition",
                "description": "download a pec code mapping definition from cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "downloadPortRateMappping",
                "produces": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Pec code mapping definition id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pec code mapping definition successfully downloaded"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "Delete pec code mapping definition",
                "description": "Delete pec code mapping definition from cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "deletePortRateMapping",
                "produces": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Pec code mapping definition id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pec code mapping definition successfully deleted"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/port/pecs": {
            "get": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "Retrieve pec code definitions",
                "description": "Pec code definitions returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getAllPecCodeMappings",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of pec code definitions",
                        "schema": {
                            "$ref": "#/definitions/PortMappingList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Retrieval of pec code definitions failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "Upload a pec code definition",
                "description": "Upload a pec code definition into cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "uploadPecCodeFile",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "file",
                        "in": "formData",
                        "description": "The Input stream of the pec code definition to be uploaded.",
                        "required": true,
                        "type": "file"
                    },
                    {
                        "name": "name",
                        "in": "formData",
                        "description": "Name of the pec code definition",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Pec code definition successfully uploaded",
                        "schema": {
                            "$ref": "#/definitions/PortMapping"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/port/pecs/{id}": {
            "get": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "Download a pec code definition",
                "description": "download a pec code definition from cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "downloadPecCodeMapping",
                "produces": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Pec code definition id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pec code definition successfully downloaded"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "Delete pecCode definition",
                "description": "Delete pecCode definition from cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "deletePecCodeMapping",
                "produces": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Pec code definition id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Pec code definition successfully deleted"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/port/provision": {
            "post": {
                "tags": [
                    "Port Provisioning v1"
                ],
                "summary": "Port provisioning",
                "description": "Port provisioning. \n <p>Prerequiste: None.\"",
                "operationId": "provisionPort",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Provisioning Details",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PortProvisioningDetails"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Port provisioned successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/profiles": {
            "get": {
                "tags": [
                    "Profiles v1"
                ],
                "summary": "Retrieve profiles",
                "description": "Get profiles informations for profileType or typeGroup \n<p>Attributes: <ul><li>name - profile name <li>profileType - profile type <li>protocolType - protocol used to do file transfer (here supported protocolType is ftp, sftp and https)<li>storageMethod - Used to specify if to use database or file system<li>userName - user name <li>userPassword - user password <li>ipAddress - Ip Address of the machine <li>port - port no to access the machine<li>imageLocation - Image location for doing file transfer from \n<p>\n Additional attributes: <li>typeGroup - Used for network element typeGroup in profile type upgrade<li>releaseNumber - Used for network element release number for profile type upgrade<li>numberOfBackupFiles - used for number of backup files to be maintained for profile type backup_restore<li>sshPort - used for profile type backup_restore and upgrade \n<li>profileDescription - profile description</ul><p>Prerequiste: None.",
                "operationId": "getFtpProfiles",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "profileType",
                        "in": "query",
                        "description": "The NE Maintenance profiles by profile type to be retrieved.",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "backup_restore",
                            "upgrade"
                        ]
                    },
                    {
                        "name": "neType",
                        "in": "query",
                        "description": "The NE Maintenance profiles by typeGroup to be retrieved.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profiles fetched",
                        "schema": {
                            "$ref": "#/definitions/FtpProfileResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "Profiles v1"
                ],
                "summary": "Trigger the creation of NE Maintenance profile",
                "description": "The Api to create Profile as a JSON Object \n <p>Prerequiste: The following attributes should be specified in the post request:<ul><li>name - profile name <li>profileType - profile type <li>protocolType - protocol used to do file transfer (here supported protocolType is ftp, sftp and https)<li>storageMethod - Used to specify if to use database or file system<li>userName - user name <li>userPassword - user password <li>ipAddress - Ip Address of the machine <li>port - port no to access the machine<li>imageLocation - Image location for doing file transfer from \n<p>Additional attributes \n<li>typeGroup - Used for network element typeGroup in profile type upgrade<li>releaseNumber - Used for network element release number for profile type upgrade<li>numberOfBackupFiles - used for number of backup files to be maintained for profile type backup_restore<li>sshPort - used for profile type backup_restore and upgrade<li>profileDescription - profile description</ul>",
                "operationId": "createFtpProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Create profile",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FtpProfile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "profile created",
                        "schema": {
                            "$ref": "#/definitions/FtpProfileAttribs"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Creation of profiles failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/profiles/associations/{profileId}": {
            "get": {
                "tags": [
                    "Profiles v1"
                ],
                "summary": "Retrieve profile association information",
                "description": "Get profile association information as a JSON Object for given profile id. \n <p>Attributes: \n<ul><li>jobExecuted - job execution status <li>associatedSchedules - associated schedules </ul><p>Prerequiste: Profile must exist for specified profile id.",
                "operationId": "getFtpProfileAssociations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "profileId",
                        "in": "path",
                        "description": "The ftp profile id for which associations to be retrieved.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile association fetched",
                        "schema": {
                            "$ref": "#/definitions/ProfileAssociations"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Profile not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/profiles/{profileId}": {
            "get": {
                "tags": [
                    "Profiles v1"
                ],
                "summary": "Retrieve profile information",
                "description": "Get profile information as a JSON Object for given profile id. \n <p>Attributes: \n<ul><li>name - profile name <li>profileType - profile type <li>protocolType - protocol used to do file transfer (here supported protocolType is ftp, sftp and https)<li>storageMethod - Used to specify if to use database or file system<li>userName - user name <li>userPassword - user password <li>ipAddress - Ip Address of the machine <li>port - port no to access the machine<li>imageLocation - Image location for doing file transfer from \n<p>Additional attributes: \n<li>typeGroup - Used for network element typeGroup in profile type upgrade<li>releaseNumber - Used for network element release number for profile type upgrade<li>numberOfBackupFiles - used for number of backup files to be maintained for profile type backup_restore<li>sshPort - used for profile type backup_restore and upgrade \n<li>profileDescription - profile description</ul><p>Prerequiste: Profile must exist for specified profile id.",
                "operationId": "getFtpProfileBasedOnId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "profileId",
                        "in": "path",
                        "description": "The ftp profile with id to be retrieved.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile fetched",
                        "schema": {
                            "$ref": "#/definitions/FtpProfileAttribs"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Profile not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "Profiles v1"
                ],
                "summary": "Delete a profile.",
                "description": "Delete the profile with given profile id. \n <p>Prerequiste: The following attributes should be specified in the request:<ul><li>profileId - profile id</ul>",
                "operationId": "deleteProfile",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "profileId",
                        "in": "path",
                        "description": "The ftp profile with id to be retrieved.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "profile is deleted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Profile are not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Profiles v1"
                ],
                "summary": "Update profile information",
                "description": "Update profile information as a JSON Object for given profile id. \n <p>For backup_restore profile type, Following attributes can be modified<ul><li>userName - user name <li>userPassword - user password <li>port - port no to access the machine<li>numberOfBackupFiles - used for number of backup files to be maintained for profile type backup_restore, This setting will take effect on next backup<li>sshPort - used for profile type backup_restore and upgrade<li>profileDescription - profile description</ul><p>For upgrade profile type, Following attributes can be modified<ul><li>userName - user name <li>userPassword - user password <li>ipAddress - Ip Address of the machine <li>port - port no to access the machine<li>imageLocation - Image location for doing file transfer from \n<li>sshPort - used for profile type backup_restore and upgrade<li>profileDescription - profile description</ul><p>Prerequiste: Profile must exist for specified profile id.",
                "operationId": "updateFtpProfile",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "profileId",
                        "in": "path",
                        "description": "The ftp profile with id to be retrieved.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "updated profile",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FtpProfile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile updated",
                        "schema": {
                            "$ref": "#/definitions/FtpProfileAttribs"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Profile not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/queue/provisioning": {
            "post": {
                "tags": [
                    "Queue provisioning."
                ],
                "summary": "Queue Provisioning operation",
                "description": "This API configures or migrates Queue. \n <p>Prerequisite: None.",
                "operationId": "lagQueueProvisioning",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Queue configuration and migration",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/QueueProvisionRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok"
                    },
                    "201": {
                        "description": "Queue Provisioning operation executed successfully."
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "401": {
                        "description": "Unauthorzed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "405": {
                        "description": "Not Allowed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "406": {
                        "description": "Not acceptable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/schedule/assignNE": {
            "post": {
                "tags": [
                    "Scheduls Assign NE v1"
                ],
                "summary": "Assign Schedules to NE Ip with partition id",
                "description": "Assign Schedules to NE Ip with partition id",
                "operationId": "updateSchedulePOST",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Schedule NE Mapping",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SchedulesAssignNE"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Pre-Enroll Successful."
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Scheduls Assign NE v1"
                ],
                "summary": "Delete a schedule assigned to NE during pre-enrollment.",
                "description": "Delete a schedule assigned to NE during pre-enrollment",
                "operationId": "deleteConfigMgmtBatch",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Schedule NE Mapping",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SchedulesAssignNE"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Schedule to NE mapping is deleted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Schedule not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/schedules": {
            "get": {
                "tags": [
                    "Schedule Management v1"
                ],
                "summary": "Retrieve Schedule details",
                "description": "List of Network Element(s) Maintenance details returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getSchedules",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scheduleId",
                        "in": "query",
                        "description": "List of schedule Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "List of schedule names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "List of schedule types",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "state",
                        "in": "query",
                        "description": "List of schedule states",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileName",
                        "in": "query",
                        "description": "List of profile names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "releaseNumber",
                        "in": "query",
                        "description": "List of releaseNumbers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "List of typeGroups",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "frequency",
                        "in": "query",
                        "description": "List of schedule frequencies, Allowed values ONCE, DAILY, WEEKLY, MONTHLY",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "weekDays",
                        "in": "query",
                        "description": "List of Schedule weekdays",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "monday",
                        "in": "query",
                        "description": "Monday, Allowed values ON or OFF",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tuesday",
                        "in": "query",
                        "description": "Tuesday, Allowed values ON or OFF",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "wednesday",
                        "in": "query",
                        "description": "Wednesday, Allowed values ON or OFF",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "thursday",
                        "in": "query",
                        "description": "Thursday, Allowed values ON or OFF",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "friday",
                        "in": "query",
                        "description": "Friday, Allowed values ON or OFF",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "saturday",
                        "in": "query",
                        "description": "Saturdy, Allowed values ON or OFF",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sunday",
                        "in": "query",
                        "description": "Sunday, Allowed values ON or OFF",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fromRecentOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of recent operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toRecentOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of recent operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fromNextOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of next operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toNextOperationTime",
                        "in": "query",
                        "description": "(Optional) Time of next operation on Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) Resource partition info",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: type, frequency, state, weekDays",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Element(s) maintenance details",
                        "schema": {
                            "$ref": "#/definitions/ScheduleDetailsResponseList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve Network element maintenance details",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Network element maintenance details failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Schedule Management v1"
                ],
                "summary": "Create Schedule",
                "description": "Create Schedule",
                "operationId": "createSchedule",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The schedule attributes to create",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ScheduleAttributes"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Schedule Created"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/schedules/nes": {
            "patch": {
                "tags": [
                    "Schedule Management v1"
                ],
                "summary": "Updates Schedule Nes",
                "description": "Updates Schedule Nes. \n<p>Prerequiste: Schedule must exist.",
                "operationId": "updateScheduleNes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The schedule attributes to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ScheduleNesPatch"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Schedule updated"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/schedules/{scheduleId}": {
            "put": {
                "tags": [
                    "Schedule Management v1"
                ],
                "summary": "Updates Schedule attributes",
                "description": "Updates Schedule attributes. \n<p>Prerequiste: Schedule must exist.",
                "operationId": "updateSchedule",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The schedule attributes to update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ScheduleAttributes"
                        }
                    },
                    {
                        "name": "scheduleId",
                        "in": "path",
                        "description": "Update schedule associated with given scheduleId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Schedule updated",
                        "schema": {
                            "$ref": "#/definitions/ScheduleDetailsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "401": {
                        "description": "Unauthorized",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "503": {
                        "description": "Service Unavailable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Schedule Management v1"
                ],
                "summary": "Delete a schedule with given schedule id.",
                "description": "Delete the schedule with given schedule Id. \n <p>Prerequiste: The following attributes should be specified in the request:<ul><li>scheduleId - Schedule Id</ul>",
                "operationId": "deleteConfigMgmtBatch",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "scheduleId",
                        "in": "path",
                        "description": "Id of the schedule to be deleted.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Schedule is deleted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Schedule not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/scriptExecutionDetails": {
            "get": {
                "tags": [
                    "Script Execution Details v1"
                ],
                "summary": "Get a list of Script Execution Details",
                "description": "Retrieves a list of Script Execution Details\n <p>Prerequisite: None.",
                "operationId": "getScriptExecutionDetails",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "List of Script Execution Details Ids.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "operationType",
                        "in": "query",
                        "description": "The Script Execution Details by operation type to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobid",
                        "in": "query",
                        "description": "The Script Execution Details by jobid to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scriptName",
                        "in": "query",
                        "description": "List of Script Execution Details by scriptName .",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: operationType, jobid, scriptName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Script Execution Details filtered by any provided parameters",
                        "schema": {
                            "$ref": "#/definitions/ScriptExecutionDetailsList"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Script Execution Details (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/scriptExecutionDetails/{jobID}": {
            "get": {
                "tags": [
                    "Script Execution Details v1"
                ],
                "summary": "Download output of custom script",
                "description": "Download output of custom script. \n <p>Prerequiste: None.\"",
                "operationId": "downloadCustomScript",
                "produces": [
                    "application/octet-stream"
                ],
                "parameters": [
                    {
                        "name": "jobID",
                        "in": "path",
                        "description": "Custom script job id",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Custom script output successfully downloaded"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/scriptProfiles": {
            "get": {
                "tags": [
                    "Script Profiles v1"
                ],
                "summary": "Retrieve Script Profiles",
                "description": "Script Profiles returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getCustomScripts",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of script profiles",
                        "schema": {
                            "$ref": "#/definitions/ScriptProfileList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Retrieval of script profiles failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Script Profiles v1"
                ],
                "summary": "Upload a script profile",
                "description": "Upload a script profile into cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "uploadScriptProfile",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "file",
                        "in": "formData",
                        "description": "The Input stream of the script profile to be uploaded.",
                        "required": true,
                        "type": "file"
                    },
                    {
                        "name": "profileName",
                        "in": "formData",
                        "description": "Name of the script profile",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/ScriptProfileList"
                        }
                    },
                    "201": {
                        "description": "Script profile successfully uploaded",
                        "schema": {
                            "$ref": "#/definitions/ScriptProfileList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/scriptProfiles/{id}": {
            "get": {
                "tags": [
                    "Script Profiles v1"
                ],
                "summary": "download a script profile definition",
                "description": "download a script profile from cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "downloadScriptProfile",
                "produces": [
                    "multipart/form-data",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Script profile id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "content",
                        "in": "query",
                        "description": "(Optional) The Script profile output content",
                        "required": false,
                        "type": "string",
                        "default": "file",
                        "enum": [
                            "file",
                            "json"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Script profile successfully downloaded"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Script Profiles v1"
                ],
                "summary": "Update a script profile",
                "description": "<p>Upon success, code 200 is returned.<p>Prerequiste: The following attributes should be specified in the post request:<ul><li>id - The id of the script profile<li>profileName - The name of the script profile<li>profileParams - The key/value pair for the profile</ul><p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"type\": \"scriptProfile\",\n        \"attributes\": {\n            \"profileName\": \"vlanProfile_6.x\",\n            \"profileParams\": [\n                {\n                    \"key\": \"VLAN_ID\",\n                    \"value\": \"915\"\n                },\n                {\n                    \"key\": \"VLAN_PORT_ID\",\n                    \"value\": \"5\"\n                },\n                {\n                    \"key\": \"MAX_FRAME_SIZE\",\n                    \"value\": \"9216\"\n                },\n                {\n                    \"key\": \"INTERFACE_NAME\",\n                    \"value\": \"if2\"\n                },\n                {\n                    \"key\": \"IP_ADDRESS\",\n                    \"value\": \"10.9.9.9/24\"\n                },\n                {\n                    \"key\": \"ORIG_MAX_FRAME_SIZE\",\n                    \"value\": \"1526\"\n                }\n            ]\n        }\n    }\n}</code></pre>",
                "operationId": "updateScriptProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Script profile id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The new script profile data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ScriptProfile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Script Profile with given id has been updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/ScriptProfileList"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource Not Found.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "422": {
                        "description": "No request body was provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Script Profiles v1"
                ],
                "summary": "Delete script profile definition",
                "description": "Delete script profile from cassandra database. \n <p>Prerequiste: None.\"",
                "operationId": "deleteScriptProfile",
                "produces": [
                    "multipart/form-data"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Script profile id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Script profile successfully deleted"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/scripts": {
            "get": {
                "tags": [
                    "Script Management v1"
                ],
                "summary": "get all script definitions",
                "description": "Get all available scripts present in the config management root directory \n <p>Prerequiste: None.",
                "operationId": "getAllScripts",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Scripts retrieved",
                        "schema": {
                            "$ref": "#/definitions/ScriptDefResponseBO"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Script is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/scriptsByName/{scriptName}": {
            "get": {
                "tags": [
                    "Script Management v1"
                ],
                "summary": "Get script by Script Name",
                "description": "Get script by Script Name, if present in the config management root directory \n <p>Prerequiste: Scripts must exist for specified scriptName.",
                "operationId": "getScriptByName",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "scriptName",
                        "in": "path",
                        "description": "The type group used for scripts lookup",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ScriptDefResponseBO"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Script is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/scriptsByTypeGroup/{typeGroup}": {
            "get": {
                "tags": [
                    "Script Management v1"
                ],
                "summary": "Get scripts belongs to the given TypeGroup",
                "description": "Get scripts belongs to the given TypeGroup, present in the config management root directory \n <p>Prerequiste: Scripts must exist for specified typeGroup.",
                "operationId": "getAllScriptsByTypeGroup",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "typeGroup",
                        "in": "path",
                        "description": "The type group used for scripts lookup",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Script is retrieved based on typeGroup",
                        "schema": {
                            "$ref": "#/definitions/ScriptDefResponseBO"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Script is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/transportResource/generateResourceId": {
            "get": {
                "tags": [
                    "transport resources v1"
                ],
                "summary": "Get a next possible id for given resourceType",
                "description": "",
                "operationId": "getTransportResourceByType",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "types",
                        "in": "query",
                        "description": "Type of the TransportResource",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "Identifier of the NetworkConstruct",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Generated next id for given resourceType ",
                        "schema": {
                            "$ref": "#/definitions/TransportResourceList"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of transport resources failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/applyFPGA": {
            "post": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Apply FPGA Upgrade",
                "description": "Apply FPGA Upgrade on the Circuit Pack. \n <p>Prerequiste: The Circuit Pack Stage should be COLDINVOKE and Upgrade Result should be AVAILABLE.<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n   \"networkConstructName\": \"OME0979_e03501\",\n   \"aid\": \"SP-1-15\"\n}</code></pre>",
                "operationId": "applyFPGA",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Apply FPGA Upgrade",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ApplyFPGAAttributes"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Apply FPGA Upgrade submitted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/fpgaDetails": {
            "get": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Retrieve FPGA Details of AID on given NE",
                "description": "Get FPGA details for NEs \n<p>Attributes: <ul><li>networkConstructName - The networkConstructs name <li>AID - The AID of card</ul><p>Prerequiste: None.",
                "operationId": "retrieveFPGADetails",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstructName",
                        "in": "query",
                        "description": "Networkconstruct Name for which FPGA Details to be retrieved.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "AID",
                        "in": "query",
                        "description": "AID for which FPGA Details to be retrieved.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FPGA Details fetched",
                        "schema": {
                            "$ref": "#/definitions/FPGADetailsResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/fpgaInventory": {
            "get": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Retrieve FPGA Inventory of given NE",
                "description": "Get FPGA inventory for NEs \n<p>Attributes: <ul><li>networkConstructName - The networkConstructs name </ul><p>Prerequiste: None.",
                "operationId": "retrieveFPGAInventory",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstructName",
                        "in": "query",
                        "description": "Networkconstruct Name for which FPGA Inventory to be retrieved.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FPGA Inventory fetched",
                        "schema": {
                            "$ref": "#/definitions/FPGADetailsResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/manualInvoke": {
            "post": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Manual Invoke of cards",
                "description": "Manual Invoke of cards. \n <p>Specify the NE name and Shelf ID\" +\n<p>Example request:</p>\" +{\n\t\"networkConstructName\": \"65TS_0137\",\n\t\"slotId\": \"PWR-1-61\"\n}",
                "operationId": "manualInvoke",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Manual invoke attributes",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ManualInvokeAttributes"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/UpgradeStatusResponse"
                        }
                    },
                    "204": {
                        "description": "Manual invoke submitted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/resume": {
            "post": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Manual resume of upgrade",
                "description": "Manual resume of upgrade. Resume can be applied on one or more Network Elements \n <p>Specify the NE name, type and typeGroup are optional. neDetails can contain one or more network elements<p>Prerequiste: The Network Elements must be in Suspended State<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{  \n   \"data\":{ \n      \"type\":\"resume\",\n      \"attributes\":{  \n         \"neDetails\":[  \n            {  \n               \"neName\":\"NE1\",\n               \"neType\":\"6500\",\n               \"typeGroup\":\"Ciena6500\"\n            },\n            {  \n               \"neName\":\"NE2\",\n               \"neType\":\"6500\",\n               \"typeGroup\":\"Ciena6500\"\n            }\n         ]\n      }\n   }\n}</code></pre>",
                "operationId": "manualResume",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Manual resume attributes",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ManualResume"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Manual resume executed successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/rtrvUpgradeStatus": {
            "get": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Retrieve upgrade status of Network Element",
                "description": "Upgrade status returned as a JSON list of objects for Network element \n <p>Attributes: <ul><li>networkConstructName - The networkConstructs name </ul><p>Prerequiste: None.",
                "operationId": "retrieveUpgradeStatus",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstructName",
                        "in": "query",
                        "description": "Networkconstruct Name for which details need to be retrieved.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Upgrade status for list of Network Element(s)",
                        "schema": {
                            "$ref": "#/definitions/UpgradeStatusResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Unable to retrieve upgrade status",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/status": {
            "get": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Retrieve upgrade status of Circuit Packs of Network Element",
                "description": "Circuit Packs Upgrade status returned as a JSON list of objects for Network element \n <p>Attributes: <ul><li>networkConstructName - The networkConstructs name </ul><p>Prerequiste: None.",
                "operationId": "retrieveCircuitPacks",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstructName",
                        "in": "query",
                        "description": "Networkconstruct Name for which details need to be retrieved.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Upgrade status for list of Network Element(s)",
                        "schema": {
                            "$ref": "#/definitions/UpgradeStatusResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Unable to retrieve upgrade status",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/stop": {
            "post": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Stop NE upgrade",
                "description": "Stop NE upgrade. \n <p>Prerequiste: Upgrade should be in progress.\"<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n   \"networkConstructNames\":[\"ACMBOCA6500_e05501\",\"OME0979_e03501\",\"OME0979_e06901\"]\n}</code></pre>",
                "operationId": "stopUpgrade",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Stop upgrade attributes",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/StopUpgradeAttributes"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Stop upgrade executed successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgrade/suspend": {
            "post": {
                "tags": [
                    "Upgrade operations v1"
                ],
                "summary": "Manual suspend of upgrade",
                "description": "Manual suspend of upgrade. Suspend can be applied on one or more Network Elements \n <p>Specify the NE name, type and typeGroup are optional. neDetails can contain one or more network elements<p>Prerequiste: The Network Elements Upgrade must be in progress State<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{  \n   \"data\":{ \n      \"type\":\"suspend\",\n      \"attributes\":{  \n         \"neDetails\":[  \n            {  \n               \"neName\":\"NE1\",\n               \"neType\":\"6500\",\n               \"typeGroup\":\"Ciena6500\"\n            },\n            {  \n               \"neName\":\"NE2\",\n               \"neType\":\"6500\",\n               \"typeGroup\":\"Ciena6500\"\n            }\n         ]\n      }\n   }\n}</code></pre>",
                "operationId": "manualSuspend",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Manual suspend attributes",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ManualSuspend"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Manual Suspend executed successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v1/upgradeStatus": {
            "get": {
                "tags": [
                    "Upgrade operation v1"
                ],
                "summary": "Retrieve upgrade operation status of Network Elements",
                "description": "Upgrade status returned as a JSON list of objects for Network elements \n <p>Prerequiste: None.",
                "operationId": "getUpgradeStatus",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Upgrade status for list of Network Element(s)",
                        "schema": {
                            "$ref": "#/definitions/CMOperationStatusList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Retrieval of upgrade status failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v1/vpnResources/generateResourceId": {
            "get": {
                "tags": [
                    "vpn resources v1"
                ],
                "summary": "Get a next possible id for given resourceType",
                "description": "",
                "operationId": "getVpnResourceByType",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "types",
                        "in": "query",
                        "description": "Type of the vpnResource",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "Identifier of the NetworkConstuct",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Generated next id for given resourceType ",
                        "schema": {
                            "$ref": "#/definitions/VpnResourceCollection"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of vpn resources failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v2/customScripts": {
            "get": {
                "tags": [
                    "Custom Scripts v2"
                ],
                "summary": "Retrieve Custom Scripts",
                "description": "List of Custom Script(s) details returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getCustomScripts",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scriptId",
                        "in": "query",
                        "description": "List of customScript Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "The custom scripts by typeGroup to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "protocolType",
                        "in": "query",
                        "description": "The custom scripts by protocol type to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scriptName",
                        "in": "query",
                        "description": "List of custom scripts names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "in": "query",
                        "description": "The custom scripts by description to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: protocolType, typeGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profiles fetched",
                        "schema": {
                            "$ref": "#/definitions/CustomScriptsList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v2/nes": {
            "get": {
                "tags": [
                    "Batch Management v2"
                ],
                "summary": "Retrieve Network Elements given the Batch Type.",
                "description": "Get all Network Elements given Batch Type as a JSON list of objects. \n<p>Prerequiste: None.",
                "operationId": "getBatchedNesByBatchType",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "batchType",
                        "in": "query",
                        "description": "Retrieve all NEs details by batch type",
                        "required": true,
                        "type": "string",
                        "enum": [
                            "BACKUP",
                            "PRE_UPGRADE",
                            "UPGRADE",
                            "POST_UPGRADE",
                            "SCRIPT",
                            "CUSTOM_SCRIPT"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of NEs for batch type",
                        "schema": {
                            "$ref": "#/definitions/BatchNeStatusList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve NEs",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of NEs failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v2/nes/{batchId}": {
            "get": {
                "tags": [
                    "Batch Management v2"
                ],
                "summary": "Retrieve Network Elements given the Batch Id.",
                "description": "Get all Network Elements given Batch Id as a JSON list of objects. \n<p>Prerequiste: Batches must exist for specified batchId.",
                "operationId": "getBatchedNesByBatchId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "batchId",
                        "in": "path",
                        "description": "Retrieve all NEs associated with a batchId",
                        "required": true,
                        "type": "string",
                        "pattern": ".*"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of NEs associated with batch",
                        "schema": {
                            "$ref": "#/definitions/BatchNeStatusList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve batched NEs",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of batched NEs failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/configmgmt/api/v2/profiles": {
            "get": {
                "tags": [
                    "Profiles v2"
                ],
                "summary": "Retrieve profiles",
                "description": "Get profiles informations for profileType or typeGroup \n<p>Attributes: <ul><li>name - profile name <li>profileType - profile type <li>protocolType - protocol used to do file transfer (here supported protocolType is ftp, sftp and https)<li>storageMethod - Used to specify if to use database or file system<li>userName - user name <li>userPassword - user password <li>ipAddress - Ip Address of the machine <li>port - port no to access the machine<li>imageLocation - Image location for doing file transfer from \n<p>\n Additional attributes: <li>typeGroup - Used for network element typeGroup in profile type upgrade<li>releaseNumber - Used for network element release number for profile type upgrade<li>numberOfBackupFiles - used for number of backup files to be maintained for profile type backup_restore<li>sshPort - used for profile type backup_restore and upgrade \n<li>profileDescription - profile description</ul><p>Prerequiste: None.",
                "operationId": "getFtpProfiles",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileId",
                        "in": "query",
                        "description": "List of profile Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileType",
                        "in": "query",
                        "description": "The NE Maintenance profiles by profile type to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "The NE Maintenance profiles by typeGroup to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "List of profile names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "releaseNumber",
                        "in": "query",
                        "description": "The NE Maintenance upgrade profiles by release number to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "storageMethod",
                        "in": "query",
                        "description": "The NE Maintenance profiles by storage method to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "port",
                        "in": "query",
                        "description": "The NE Maintenance profiles by port to be retrieved.",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    },
                    {
                        "name": "sshPort",
                        "in": "query",
                        "description": "The NE Maintenance profiles by sshPort to be retrieved.",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    },
                    {
                        "name": "protocolType",
                        "in": "query",
                        "description": "The NE Maintenance profiles by protocol type to be retrieved.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: profileType, protocolType, storageMethod",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profiles fetched",
                        "schema": {
                            "$ref": "#/definitions/NeMaintenanceProfilesList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Profiles v2"
                ],
                "summary": "Trigger the creation of NE Maintenance profile",
                "description": "The Api to create Profile as a JSON Object \n <p>Prerequiste: The following attributes should be specified in the post request:<ul><li>name - profile name <li>profileType - profile type <li>protocolType - protocol used to do file transfer (here supported protocolType is ftp, sftp and https)<li>storageMethod - Used to specify if to use database or file system<li>userName - user name <li>userPassword - user password <li>ipAddress - Ip Address of the machine <li>port - port no to access the machine<li>imageLocation - Image location for doing file transfer from \n<p>Additional attributes \n<li>typeGroup - Used for network element typeGroup in profile type upgrade<li>releaseNumber - Used for network element release number for profile type upgrade<li>numberOfBackupFiles - used for number of backup files to be maintained for profile type backup_restore<li>sshPort - used for profile type backup_restore and upgrade<li>profileDescription - profile description</ul>",
                "operationId": "createFtpProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Create profile",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NeMaintenanceProfileAttributes"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "profile created",
                        "schema": {
                            "$ref": "#/definitions/NeMaintenanceProfilesList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Creation of profiles failed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v2/profiles/{profileId}": {
            "patch": {
                "tags": [
                    "Profiles v2"
                ],
                "summary": "Update profile information",
                "description": "Update profile information as a JSON Object for given profile id. \n <p>For backup_restore profile type, Following attributes can be modified<ul><li>userName - user name <li>userPassword - user password <li>port - port no to access the machine<li>numberOfBackupFiles - used for number of backup files to be maintained for profile type backup_restore, This setting will take effect on next backup<li>sshPort - used for profile type backup_restore and upgrade<li>profileDescription - profile description</ul><p>For upgrade profile type, Following attributes can be modified<ul><li>userName - user name <li>userPassword - user password <li>ipAddress - Ip Address of the machine <li>port - port no to access the machine<li>imageLocation - Image location for doing file transfer from \n<li>sshPort - used for profile type backup_restore and upgrade<li>profileDescription - profile description</ul><p>Prerequiste: Profile must exist for specified profile id.",
                "operationId": "updateFtpProfile",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "profileId",
                        "in": "path",
                        "description": "The ftp profile with id to be retrieved.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "updated profile",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NeMaintenanceProfileAttributes"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Profile updated",
                        "schema": {
                            "$ref": "#/definitions/NeMaintenanceProfilesList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Profile not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/configmgmt/api/v2/scriptProfiles": {
            "get": {
                "tags": [
                    "Script Profiles v2"
                ],
                "summary": "Retrieve Script Profiles",
                "description": "List of Script Profile(s) details returned as a JSON list of objects \n <p>Prerequiste: None.",
                "operationId": "getScriptProfiles",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "List of script profile Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileName",
                        "in": "query",
                        "description": "List of script profile names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Script Profiles fetched",
                        "schema": {
                            "$ref": "#/definitions/ScriptProfileList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Script Profiles v2"
                ],
                "summary": "Create a script profile",
                "description": "<p>Upon success, code 200 is returned.<p>Prerequiste: The following attributes should be specified in the post request:<ul><li>profileName - The name of the script profile<li>profileParams - The key/value pair for the profile</ul><p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"type\": \"scriptProfile\",\n        \"attributes\": {\n            \"profileName\": \"vlanProfile_6.x\",\n            \"profileParams\": [\n                {\n                    \"key\": \"VLAN_ID\",\n                    \"value\": \"915\"\n                },\n                {\n                    \"key\": \"VLAN_PORT_ID\",\n                    \"value\": \"5\"\n                },\n                {\n                    \"key\": \"MAX_FRAME_SIZE\",\n                    \"value\": \"9216\"\n                },\n                {\n                    \"key\": \"INTERFACE_NAME\",\n                    \"value\": \"if2\"\n                },\n                {\n                    \"key\": \"IP_ADDRESS\",\n                    \"value\": \"10.9.9.9/24\"\n                },\n                {\n                    \"key\": \"ORIG_MAX_FRAME_SIZE\",\n                    \"value\": \"1526\"\n                }\n            ]\n        }\n    }\n}</code></pre>",
                "operationId": "createScriptProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The new script profile data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ScriptProfile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Script Profile with given input has been created successfully.",
                        "schema": {
                            "$ref": "#/definitions/ScriptProfileList"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource Not Found.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "422": {
                        "description": "The script profile already exists",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/fallback-user-mgmt/api/v1/fallbackUsers": {
            "get": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Retrieve fallback user info for NEs",
                "description": "",
                "operationId": "getUsers",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "neNames",
                        "in": "query",
                        "description": "Comma-separated NE names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lastOperationState",
                        "in": "query",
                        "description": "Last operation state, supported values are 'In-progress', 'Succeeded', 'Failed' and 'System-restored'",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the next page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page, defaulted to 20",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Fallback user info is found successfully",
                        "schema": {
                            "$ref": "#/definitions/FallbackUserListResponse"
                        }
                    },
                    "400": {
                        "description": "Query parameter value is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Create fallback user accounts on NEs",
                "description": "Specify the NE resource type only to create fallback users on all managed NEs of the specified type.<p>Specify the NE resource type and a comma-separated list of NE names to create fallback users on the specified NEs.<p>A global UID and randomly generated passwords are used to create fallback users. UID and password are not specified in the request body.<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"neType\": \"6500\",\n    \"neNames\": [\"{{6500_NE_NAME}}\"]\n}</code></pre>",
                "operationId": "createUser",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Fallback user creation request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FallbackUserCreationRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Create user request is accepted",
                        "schema": {
                            "$ref": "#/definitions/FallbackUserCreationResponse"
                        }
                    },
                    "400": {
                        "description": "The create user request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Delete fallback user accounts on NEs",
                "description": "Specify the NE resource type only to delete all fallback users previously created on NEs of the specified type.<p>Specify the NE resource type and a comma-separated list of NE names to delete fallback users on the specified NEs.<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"neType\": \"6500\",\n    \"neNames\": [\"{{6500_NE_NAME}}\"]\n}</code></pre>",
                "operationId": "deleteUser",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Fallback user deletion request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FallbackUserDeletionRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Delete user request is accepted",
                        "schema": {
                            "$ref": "#/definitions/FallbackUserDeletionResponse"
                        }
                    },
                    "400": {
                        "description": "The delete user request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The fallback user is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "The NE is not managed in the system",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/fallback-user-mgmt/api/v1/fallbackUsers/passwordPolicy": {
            "get": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Retrieve password generation values",
                "description": "",
                "operationId": "getPasswordPolicy",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Password generation values fetched",
                        "schema": {
                            "$ref": "#/definitions/FallbackPasswordPolicyResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Update password policy information",
                "description": "",
                "operationId": "updatePasswordPolicy",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Fallback password policy",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FallbackPasswordPolicyRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Password Policy updated",
                        "schema": {
                            "$ref": "#/definitions/FallbackPasswordPolicyBO"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/fallback-user-mgmt/api/v1/fallbackUsers/resetPasswords": {
            "post": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Reset fallback passwords on NEs",
                "description": "Specify the NE resource type only to reset passwords for all fallback users previously created on NEs of the specified type.<p>Specify the NE resource type and a comma-separated list of NE names to reset fallback passwords on the specified NEs.<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"neType\": \"6500\",\n    \"neNames\": [\"{{6500_NE_NAME}}\"],\n    \"resetSchedule\": {\n            \"startTime\" : \"2019-08-22T22:01:00Z\",\n            \"frequency\" : \"daily\"\n       }\n}</code></pre>",
                "operationId": "resetFallbackPasswords",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Fallback password reset request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FallbackPasswordResetRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Reset password request is accepted",
                        "schema": {
                            "$ref": "#/definitions/FallbackPasswordResetResponse"
                        }
                    },
                    "400": {
                        "description": "The reset password request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The fallback user is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "The NE is not managed in the system",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/fallback-user-mgmt/api/v1/fallbackUsers/resetPasswords/schedules": {
            "get": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Retrieve password reset schedules",
                "description": "",
                "operationId": "getPasswordResetSchedules",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Password reset schedules info is found successfully",
                        "schema": {
                            "$ref": "#/definitions/FallbackResetScheduleListResponse"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/fallback-user-mgmt/api/v1/fallbackUsers/resetPasswords/schedules/{id}": {
            "get": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Retrieve specified password reset schedule",
                "description": "",
                "operationId": "getPasswordResetSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The ID of the password reset schedule",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Password reset schedule is found successfully",
                        "schema": {
                            "$ref": "#/definitions/FallbackResetScheduleResponse"
                        }
                    },
                    "404": {
                        "description": "Failed to find the specified password reset schedule",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while searching",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Fallback Users v1"
                ],
                "summary": "Delete specified password reset schedule",
                "description": "",
                "operationId": "deletePasswordResetSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The ID of the password reset schedule",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Password reset schedule is deleted successfully"
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Failed to find the specified password reset schedule",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/discovery/api/neprofiles": {
            "get": {
                "tags": [
                    "neprofiles"
                ],
                "summary": "Get all NE Connection Profiles for a type group",
                "description": "Return all NE Connection Profiles for the type group.",
                "operationId": "getNEConnectionProfiles",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) Device Type Group",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "protocol",
                        "in": "query",
                        "description": "(Optional) Protocol",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieval of NE Connection Profiles complete",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileListV3RO"
                        }
                    },
                    "204": {
                        "description": "No data found.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "neprofiles"
                ],
                "summary": "Create a NE Connection Profile",
                "description": "Create the specified NE Connection Profile. On success, status 201 is returned with the full resource, including the resource identifier.",
                "operationId": "createNEConnectionProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "NE Connection Profile to be created with the specified contents",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "NE Connection Profile is created",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile content"
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/discovery/api/neprofiles/{id}": {
            "get": {
                "tags": [
                    "neprofiles"
                ],
                "summary": "Get the NE Connection Profile with the specified id",
                "description": "Return a specific NE Connection Profile.",
                "operationId": "getNEConnectionProfile",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Unique identifier of the NE Connection Profile to fetch",
                        "required": true,
                        "type": "string",
                        "pattern": ".+"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieval of NE Connection Profile complete",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No NE Connection Profile found for given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "neprofiles"
                ],
                "summary": "Create or update an NE Connection Profile with the specified id.",
                "description": "LATEST VERSION: V2. Create or update a specific NE Connection Profile.",
                "operationId": "updateNEConnectionProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Unique identifier of the NE Connection Profile to update",
                        "required": true,
                        "type": "string",
                        "pattern": ".+"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "NE Connection Profile data as a JSON object.  Existing profile will be replaced by the new contents.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "NE Connection Profile has been updated",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "201": {
                        "description": "NE Connection Profile has been created",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile content"
                    },
                    "500": {
                        "description": "NE Connection Profile update failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "neprofiles"
                ],
                "summary": "Delete the NE Connection Profile with the specified id",
                "description": "Delete a specific NE Connection Profile.",
                "operationId": "deleteNEConnectionProfile",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Unique identifier of the NE Connection Profile to delete",
                        "required": true,
                        "type": "string",
                        "pattern": ".+"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "NE Connection Profile was deleted"
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/discovery/api/v1/neprofiles": {
            "get": {
                "tags": [
                    "neprofiles v1"
                ],
                "summary": "Get all NE Connection Profiles for a type group",
                "description": "Return all NE Connection Profiles for the type group.",
                "operationId": "getNEConnectionProfiles",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) Device Type Group",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "protocol",
                        "in": "query",
                        "description": "(Optional) Protocol",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieval of NE Connection Profiles complete",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileListV3RO"
                        }
                    },
                    "204": {
                        "description": "No data found.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "neprofiles v1"
                ],
                "summary": "Create a NE Connection Profile",
                "description": "Create the specified NE Connection Profile. On success, status 201 is returned with the full resource, including the resource identifier.",
                "operationId": "createNEConnectionProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "NE Connection Profile to be created with the specified contents",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "NE Connection Profile is created",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile content"
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/discovery/api/v1/neprofiles/{id}": {
            "get": {
                "tags": [
                    "neprofiles v1"
                ],
                "summary": "Get the NE Connection Profile with the specified id",
                "description": "Return a specific NE Connection Profile.",
                "operationId": "getNEConnectionProfile",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Unique identifier of the NE Connection Profile to fetch",
                        "required": true,
                        "type": "string",
                        "pattern": ".+"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieval of NE Connection Profile complete",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No NE Connection Profile found for given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "neprofiles v1"
                ],
                "summary": "Update the NE Connection Profile with the specified id.",
                "description": "Update a specific NE Connection Profile.",
                "operationId": "updateNEConnectionProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Unique identifier of the NE Connection Profile to update",
                        "required": true,
                        "type": "string",
                        "pattern": ".+"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "NE Connection Profile data as a JSON object.  Existing profile will be replaced by the new contents.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "NE Connection Profile has been updated",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile content"
                    },
                    "404": {
                        "description": "No NE Connection Profile found for given Id"
                    },
                    "500": {
                        "description": "NE Connection Profile update failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "neprofiles v1"
                ],
                "summary": "Delete the NE Connection Profile with the specified id",
                "description": "Delete a specific NE Connection Profile.",
                "operationId": "deleteNEConnectionProfile",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Unique identifier of the NE Connection Profile to delete",
                        "required": true,
                        "type": "string",
                        "pattern": ".+"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "NE Connection Profile was deleted"
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/discovery/api/v2/neprofiles/{id}": {
            "put": {
                "tags": [
                    "neprofiles v2"
                ],
                "summary": "Create or update an NE Connection Profile with the specified id.",
                "description": "Create or update a specific NE Connection Profile.",
                "operationId": "updateNEConnectionProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Unique identifier of the NE Connection Profile to update",
                        "required": true,
                        "type": "string",
                        "pattern": ".+"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "NE Connection Profile data as a JSON object.  Existing profile will be replaced by the new contents.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "NE Connection Profile has been updated",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "201": {
                        "description": "NE Connection Profile has been created",
                        "schema": {
                            "$ref": "#/definitions/NEConnectionProfileV3RO"
                        }
                    },
                    "400": {
                        "description": "Unable to process NE Connection Profile content"
                    },
                    "500": {
                        "description": "NE Connection Profile update failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/discovery/api/managementSessions": {
            "get": {
                "tags": [
                    "managementSessions"
                ],
                "summary": "Get a list of  management sessions",
                "description": "Retrieves a list of management sessions which represent the connections to the network elements<p>LATEST VERSION: V4",
                "operationId": "getNetworkConstructs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "states",
                        "in": "query",
                        "description": "(Optional) List of comma separated discoveryStates. <p> Valid values are: <table><tr><td>PENDING</td><td> - prior to enrollment</td></tr><tr><td>AUTO_DISCOVERED</td><td> - prior to enrollment and added by the enrollment of another network element</td></tr><tr><td>VALIDATING</td><td> - attempting to communicate with the network element</td></tr><tr><td>VALIDATING_FAILED</td><td> - communication with the network element failed</td></tr><tr><td>CONNECTING</td><td> - creating a session to the network element</td></tr><tr><td>POKING</td><td> - checking available accesses to the network element</td></tr><tr><td>CONNECTED</td><td> - session established with network element</td></tr><tr><td>DISCOVERING</td><td> - retrieving session data from network element</td></tr><tr><td>COMPLETED</td><td> - management session is fully operational and connected to the network element</td></tr><tr><td>DISCOVERY_RETRY</td><td> - failed to retrieve session data from the network element</td></tr><tr><td>CHANGE_SESSION</td><td> - attempting to changing the active session to the network element</td></tr><tr><td>DEENROLLING</td><td> - disconnecting from the network element and removing the management session</td></tr></table>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of comma separated name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "longName",
                        "in": "query",
                        "description": "(Optional) List of comma separated longName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileName",
                        "in": "query",
                        "description": "(Optional) List of comma separated profileName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of management sessions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "aliasName",
                        "in": "query",
                        "description": "(Optional) Key that holds the alias name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "aliasValue",
                        "in": "query",
                        "description": "(Optional) List of alias name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of the management session typeGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of the management session resourceType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "shortResourceType",
                        "in": "query",
                        "description": "(Optional) List of the management session shortResourceType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of the management session associationState. The valid values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, discoveryState, displayState, typeGroup, profileName, resourcePartitionInfo, shortResourceType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayState",
                        "in": "query",
                        "description": "(Optional) List of comma separated display states. The allowed values are: Pending, Connecting, Not connected, Connected, Failed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayPreferredConnectionName",
                        "in": "query",
                        "description": "(Optional) Name of preferred connection",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayPartitions",
                        "in": "query",
                        "description": "(Optional) List of comma separated display partitions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAlternativeConnectionIPs",
                        "in": "query",
                        "description": "(Optional) List of comma seperated display alternative connection IPs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAlternativeConnectionNames",
                        "in": "query",
                        "description": "(Optional) List of comma seperated display alternative connection names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileId",
                        "in": "query",
                        "description": "(Optional) List of NE security connection profile identifiers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifier",
                        "in": "query",
                        "description": "(Optional) List of associationStateQualifiers. The allowed values are MANUAL, NETWORK, SYSTEM",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifierReason",
                        "in": "query",
                        "description": "(Optional) Reason for putting a Management Session to 'inMaintenance'.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) List of comma separated resource partitions, 'none' to search unpartitioned resource if user has sufficient privilege",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of management sessions filtered by any provided parameters",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval of management sessions failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "managementSessions"
                ],
                "summary": "Creates a new management Session and optionally triggers the enrollment",
                "description": "<p>LATEST VERSION: V3<p>Upon success, code 201 is returned.<p>ProfileId can be obtained from creating a profile through discovery/api/v1/neprofiles.<p>The profile can optionally be specified by name using the profileName attribute.<p>The default discoveryState is PENDING, which is a pre-enrollment state used to prepare and stage the enrollment process.<p>To trigger an immediate enrollment you can provide an initial discoverySate of CONNECTING. This starts the enrollment process as the management session object is created. Optionally you can assign one or multiple partitions to the management session.<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\" : {\n        \"type\": \"managementSessions\",\n        \"attributes\": {\n            \"ipAddress\": \"1.1.1.1\",\n            \"additionalIpAddresses\": [\"1.1.1.2\"],\n            \"discoveryState\": \"CONNECTING\",\n            \"profile\": \"profileId\"\n            \"resourcePartitionInfo\": [\"Partition1\"]\n        }\n    }\n}\n</code></pre>",
                "operationId": "postManagementSession",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "managementSession to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "ManagementSession object is created.",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Resource Not Found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "422": {
                        "description": "No request body was provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/discovery/api/managementSessions/{sessionId}": {
            "get": {
                "tags": [
                    "managementSessions"
                ],
                "summary": "Retrieves a management session by its corresponding id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "getManagementSessionById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The 'id' of management session to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve  management session by the specified id",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "managementSessions"
                ],
                "summary": "Triggers the de-enrollment of a network element or deletes a pending enrollment",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteManagementSession",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The 'id' of the management session to be deleted or de-enrolled",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "De-enrollment or deletion request was successful triggered",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "204": {
                        "description": "Management session has already been deleted"
                    },
                    "403": {
                        "description": "Deenrollment of auto-discovered management session is not allowed, or insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "managementSessions"
                ],
                "summary": "perform operations of update, connect or resync on a management session resource",
                "description": "<p>LATEST VERSION: V4<p>Upon request accepted, code 202 is returned and the output consists of JSON objects representing current management session resource.<p>If NE state is Pending, then the supported operations are: replace (for updating IP address and/or additionalIpAddresses, and/or ne-profile and/or partition), enroll (to enroll NE), and replace + enroll (to update and enroll the NE).<p>If NE state is Connected/Failed, then the supported operations are: replace (to update or re-apply ne-profile, or to update partition), replace + reconnect (to replace IP address and/or additionalIpAddresses and reconnect), reconnect, and resync (to resynchronize the NE).<p>\"reconnect\" operation force reconnect NE at enrollment IP address.<p>A MCP user can force reconnect an enrolled GNE or RNE. When a GNE is force reconnected, its associated RNE is reconnected automatically. A pre-enrlled or auto discovered GNE is not able to be force reconnected.<p>If NE state is Auto_discovered, the supported operations are replace and replace + enroll.<p>Example request to change enrollment IP:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n                \"ipAddress\" : \"10.1.1.1\",\n                \"additionalIpAddresses\": [\"1.1.1.2\"], (optional)\n                \"profile\" : \"300-200-100\" (optional)\n            }\n        },\n        {\n            \"op\" : \"reconnect\"\n        }\n    ]\n}\n</code></pre><p>Example request to change ne-profile:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n                \"profile\" : \"300-200-100\"\n            }\n        }\n    ]\n}\n</code></pre><p>Example request to change partition:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n                \"resourcePartitionInfo\" : \"Partition2\"\n            }\n        }\n    ]\n}\n</code></pre><p>Example request to resync:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"resync\"\n        }\n    ]\n}\n</code></pre><p>Example request to put NE in Maintenance:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"inMaintenance\"\n        }\n    ]\n}\n</code></pre><p>Example request to put NE out of Maintenance:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"outMaintenance\"\n        }\n    ]\n}\n</code></pre><p>Example request to enroll a pre-enrolled NE:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"enroll\"\n        }\n    ]\n}\n</code></pre><p>Example request to reconnect a NE:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"reconnect\"\n        }\n    ]\n}\n</code></pre><p>Example request to provide a reason when putting an NE under maintenance:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"inMaintenance\"\n            \"reason\" : \"example_reason\"\n        }\n    ]\n}\n</code></pre><p>Example request to provide a reason when putting an NE under maintenance:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"inMaintenance\"\n            \"attributes\" : {\n                \"associationStateQualifierReason\" : \"example_reason\"\n            }\n        }\n    ]\n}\n</code></pre>",
                "operationId": "patchOperation",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The id of management session to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given management session.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/discovery/api/v3/managementSessions": {
            "get": {
                "tags": [
                    "managementSessions v3"
                ],
                "summary": "Get a list of  management sessions",
                "description": "Retrieves a list of management sessions which represent the connections to the network elements",
                "operationId": "getManagementSessions",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "states",
                        "in": "query",
                        "description": "(Optional) List of comma separated discoveryStates. <p> Valid values are: <table><tr><td>PENDING</td><td> - prior to enrollment</td></tr><tr><td>AUTO_DISCOVERED</td><td> - prior to enrollment and added by the enrollment of another network element</td></tr><tr><td>VALIDATING</td><td> - attempting to communicate with the network element</td></tr><tr><td>VALIDATING_FAILED</td><td> - communication with the network element failed</td></tr><tr><td>CONNECTING</td><td> - creating a session to the network element</td></tr><tr><td>POKING</td><td> - checking available accesses to the network element</td></tr><tr><td>CONNECTED</td><td> - session established with network element</td></tr><tr><td>DISCOVERING</td><td> - retrieving session data from network element</td></tr><tr><td>COMPLETED</td><td> - management session is fully operational and connected to the network element</td></tr><tr><td>DISCOVERY_RETRY</td><td> - failed to retrieve session data from the network element</td></tr><tr><td>CHANGE_SESSION</td><td> - attempting to changing the active session to the network element</td></tr><tr><td>DEENROLLING</td><td> - disconnecting from the network element and removing the management session</td></tr></table>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of comma separated name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of management sessions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "aliasName",
                        "in": "query",
                        "description": "(Optional) Key that holds the alias name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "aliasValue",
                        "in": "query",
                        "description": "(Optional) List of alias name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of management sessions filtered by any provided parameters",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval of management sessions failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "managementSessions v3"
                ],
                "summary": "Creates a new management Session and optionally triggers the enrollment",
                "description": "Upon success, code 201 is returned.<p>ProfileId can be obtained from creating a profile through discovery/api/v1/neprofiles.<p>The profile can optionally be specified by name using the profileName attribute.<p>The default discoveryState is PENDING, which is a pre-enrollment state used to prepare and stage the enrollment process.<p>To trigger an immediate enrollment you can provide an initial discoverySate of CONNECTING. This starts the enrollment process as the management session object is created. Optionally you can assign one or multiple partitions to the management session.<p>Example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\" : {\n        \"type\": \"managementSessions\",\n        \"attributes\": {\n            \"ipAddress\": \"1.1.1.1\",\n            \"discoveryState\": \"CONNECTING\",\n            \"profile\": \"profileId\",\n            \"resourcePartitionInfo\": [\"Partition1\"]\n        }\n    }\n}\n</code></pre>",
                "operationId": "postManagementSession",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "managementSession to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created the management session object",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "422": {
                        "description": "No request body was provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/discovery/api/v3/managementSessions/{sessionId}": {
            "get": {
                "tags": [
                    "managementSessions v3"
                ],
                "summary": "Retrieves a management session by its corresponding id",
                "description": "",
                "operationId": "getManagementSessionBySessionId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The 'id' of management session to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve management session by the specified id",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "managementSessions v3"
                ],
                "summary": "Triggers the de-enrollment of a network element or deletes a pending enrollment",
                "description": "",
                "operationId": "deleteManagementSession",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "identifier of Management Session to be deleted",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "De-enrollment or deletion request was successful triggered",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "204": {
                        "description": "Management session has already been deleted"
                    },
                    "403": {
                        "description": "Deenrollment of auto-discovered management session is not allowed, or insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/discovery/api/v3/managementSessions/{sessionId}/discoveryState": {
            "put": {
                "tags": [
                    "managementSessions v3"
                ],
                "summary": "Trigger the enrollment or resynchronization of a management session",
                "description": "",
                "operationId": "putEnroll",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The id of management session to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A string value of the discoveryState.  Valid values are:<table><tr><td>CONNECTING</td><td> - this will trigger the enrollment process, if the management has not been enrolled yet</td></tr><tr><td>DISCOVERING</td><td> - triggers the resynchronization/discovery of the management session</td></tr></table>Note: Surround values with quotes within parameter body",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request has been successfully accepted and triggered.",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Resource Not Found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "422": {
                        "description": "No request body was provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/discovery/api/v3/managementSessions/{sessionId}/ipAddress": {
            "put": {
                "tags": [
                    "managementSessions v3"
                ],
                "summary": "Update the IP address of the pending management session",
                "description": "",
                "operationId": "putEnrollIP",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The id of management session to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A string value of the IpAddress",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request has been successfully accepted and triggered.",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Resource Not Found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "422": {
                        "description": "No request body was provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/discovery/api/v3/managementSessions/{sessionId}/neProfile": {
            "put": {
                "tags": [
                    "managementSessions v3"
                ],
                "summary": "Update the NE connection profile id of the pending management session",
                "description": "",
                "operationId": "putEnrollNeProfile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The id of management session to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A string value of the NeProfile",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request has been successfully accepted and triggered.",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Resource Not Found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "422": {
                        "description": "No request body was provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/discovery/api/v4/managementSessions": {
            "get": {
                "tags": [
                    "managementSessions v4"
                ],
                "summary": "Get a list of  management sessions",
                "description": "Retrieves a list of management sessions which represent the connections to the network elements",
                "operationId": "getManagementSessions",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "states",
                        "in": "query",
                        "description": "(Optional) List of comma separated discoveryStates. <p> Valid values are: <table><tr><td>PENDING</td><td> - prior to enrollment</td></tr><tr><td>AUTO_DISCOVERED</td><td> - prior to enrollment and added by the enrollment of another network element</td></tr><tr><td>VALIDATING</td><td> - attempting to communicate with the network element</td></tr><tr><td>VALIDATING_FAILED</td><td> - communication with the network element failed</td></tr><tr><td>CONNECTING</td><td> - creating a session to the network element</td></tr><tr><td>POKING</td><td> - checking available accesses to the network element</td></tr><tr><td>CONNECTED</td><td> - session established with network element</td></tr><tr><td>DISCOVERING</td><td> - retrieving session data from network element</td></tr><tr><td>COMPLETED</td><td> - management session is fully operational and connected to the network element</td></tr><tr><td>DISCOVERY_RETRY</td><td> - failed to retrieve session data from the network element</td></tr><tr><td>CHANGE_SESSION</td><td> - attempting to changing the active session to the network element</td></tr><tr><td>DEENROLLING</td><td> - disconnecting from the network element and removing the management session</td></tr><tr><td>POKING</td><td> - obtaining information from NE's other connection addresses for reachability</td></tr></table>",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of comma separated name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "longName",
                        "in": "query",
                        "description": "(Optional) List of comma separated longName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileName",
                        "in": "query",
                        "description": "(Optional) List of comma separated profileName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of management sessions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "aliasName",
                        "in": "query",
                        "description": "(Optional) Key that holds the alias name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "aliasValue",
                        "in": "query",
                        "description": "(Optional) List of alias name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of the management session typeGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of the management session resourceType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "shortResourceType",
                        "in": "query",
                        "description": "(Optional) List of the management session shortResourceType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of the management session associationState. The valid values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, discoveryState, displayState, typeGroup, profileName, resourcePartitionInfo, shortResourceType",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayState",
                        "in": "query",
                        "description": "(Optional) List of comma separated display states. The allowed values are: Pending, Connecting, Not connected, Connected, Failed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayPreferredConnectionName",
                        "in": "query",
                        "description": "(Optional) Name of preferred connection",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayPartitions",
                        "in": "query",
                        "description": "(Optional) List of comma separated display partitions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAlternativeConnectionIPs",
                        "in": "query",
                        "description": "(Optional) List of comma seperated display alternative connection IPs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAlternativeConnectionNames",
                        "in": "query",
                        "description": "(Optional) List of comma seperated display alternative connection names",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "profileId",
                        "in": "query",
                        "description": "(Optional) List of NE security connection profile identifiers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifier",
                        "in": "query",
                        "description": "(Optional) List of associationStateQualifiers. The allowed values are MANUAL, NETWORK, SYSTEM",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationStateQualifierReason",
                        "in": "query",
                        "description": "(Optional) Reason for putting a Management Session to 'inMaintenance'.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) List of comma separated resource partitions, 'none' to search unpartitioned resource if user has sufficient privilege",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of management sessions filtered by any provided parameters",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval of management sessions failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/discovery/api/v4/managementSessions/{sessionId}": {
            "patch": {
                "tags": [
                    "managementSessions v4"
                ],
                "summary": "perform operations of update, connect or resync on a management session resource",
                "description": "<p>Upon request accepted, code 202 is returned and the output consists of JSON objects representing current management session resource.<p>If NE state is Pending, then the supported operations are: replace (for updating IP address and/or ne-profile and/or partition), enroll (to enroll NE), and replace + enroll (to update and enroll the NE).<p>If NE state is Connected/Failed, then the supported operations are: replace (to update or re-apply ne-profile, or to update partition), replace + reconnect (to replace IP address and reconnect), reconnect, and resync (to resynchronize the NE).<p>\"reconnect\" operation force reconnect NE at enrollment IP address.<p>A MCP user can force reconnect an enrolled GNE or RNE. When a GNE is force reconnected, its associated RNE is reconnected automatically. A pre-enrolled or auto discovered GNE is not able to be force reconnected.<p>If NE state is Auto_discovered, the supported operations are replace and replace + enroll.<p>Example request to change enrollment IP:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n                \"ipAddress\" : \"10.1.1.1\",\n                \"profile\" : \"300-200-100\" (optional)\n            }\n        },\n        {\n            \"op\" : \"reconnect\"\n        }\n    ]\n}\n</code></pre><p>Example request to change ne-profile:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n                \"profile\" : \"300-200-100\"\n            }\n        }\n    ]\n}\n</code></pre><p>Example request to change partition:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n                \"resourcePartitionInfo\" : \"Partition2\"\n            }\n        }\n    ]\n}\n</code></pre><p>Example request to resync:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"resync\"\n        }\n    ]\n}\n</code></pre><p>Example request to put NE in Maintenance:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"inMaintenance\"\n        }\n    ]\n}\n</code></pre><p>Example request to put NE out of Maintenance:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"outMaintenance\"\n        }\n    ]\n}\n</code></pre><p>Example request to enroll a pre-enrolled NE:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"enroll\"\n        }\n    ]\n}\n</code></pre><p>Example request to reconnect a NE:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"reconnect\"\n        }\n    ]\n}\n</code></pre><p>Example request to provide a reason when putting an NE under maintenance:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"inMaintenance\"\n            \"reason\" : \"example_reason\"\n        }\n    ]\n}\n</code></pre><p>Example request to provide a reason when putting an NE under maintenance:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"inMaintenance\"\n            \"attributes\" : {\n                \"associationStateQualifierReason\" : \"example_reason\"\n            }\n        }\n    ]\n}\n</code></pre>",
                "operationId": "patchOperation",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "The id of management session to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given management session.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/ManagementSessionRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs": {
            "get": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Get list of discovered Network Construct(s) satisfying the query parameters",
                "description": "<p>LATEST VERSION: V6\nDiscovered Network Constructs returned as a JSON list of Network Construct objects. \nNote: When querying using identifiers, the supported syntax is as follows: \n   ?identifierKey=key1,key2,...&identifierValue=value1,value2,... \nFor instance, \n   ?identifierKey=subnetName&identifierValue=PV0438A---PV0428D---SUBNET<p>Only one of the following parameters can be specified:<ul><li>name<li>ipAddress<li>identifierKey + identifierValue<li>sessionId<li>networkConstructExpectations.equipmentIntent.id<li>networkConstructExpectations.serviceIntent.id<li>physicalLocationId<li>networkConstructType<li>concrete</ul>",
                "operationId": "getNetworkConstructs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of device name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "The identifier key list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "The identifier value list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "(Optional) Management Session Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructType",
                        "in": "query",
                        "description": "(Optional) Network Construct type. The allowed values are: networkElement, shelf, osrpNode, manual, branchingUnit, submarineRepeater, foreignNode",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ssteType",
                        "in": "query",
                        "description": "(Optional)  ssteType parameter used to filter spectrum sharing terminal network element. The allowed values are: SSTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete networkConstruct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, networkConstructDiscovered, networkConstructPlanned, srlgs, utilization, timing",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Constructs",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve all network elements"
                    },
                    "500": {
                        "description": "Retrieval of network constructs failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Creates or updates network construct with only userData, resourcePartitionInfo and/or networkConstructType",
                "description": "Upon success, code 201 is returned and the output consists of JSON objects representing the Network Construct.<p>All the attributes other than identifiers, userData, resourcePartitionInfo, notes and networkConstructType will be ignored.</p><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"type\": \"networkConstructs\",\n        \"attributes\": {\n            \"identifiers\": [\n                {\n                    \"siteName\": \"clli1\",\n                    \"projectName\": \"projectName1\"\n                },\n                {\n                    \"projectName\": \"projectName1\"\n                }\n            ],\n            \"userData\": {\n                \"latitudeLongitudeString\": \"-52.455143603762195,115.42581387725983\"\n            },\n            \"networkConstructType\": \"manual\",\n            \"resourcePartitionInfo\": [\n                \"partitiionUUID\"\n            ],\n            \"note\": {\n                     \"noteMsg\": \"This is an manual NC note\",\n                     \"lastUpdatedBy\": \"user1\"\n             }\n        }\n    }\n}</code></pre><p>LATEST VERSION: V5<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postNetworkConstruct",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an NC provided with userData, physical location and resourcePartitionInfo",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network construct user data has been replaced on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "201": {
                        "description": "Network construct has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}": {
            "get": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Retrieves a Network Construct given its corresponding identifier.",
                "description": "<p>LATEST VERSION: V4<p>Network Construct returned as a JSON SingleManagedElement object",
                "operationId": "getNetworkConstruct",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "identifier of Network Construct to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, childNetworkConstructs, networkConstructDiscovered, networkConstructPlanned, srlgs, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to retrieve specified Managed Network Construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve specified Managed Network Construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Deletes a specific network construct",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteNCById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of Network Construct to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "204": {
                        "description": "Deleted NC successfully."
                    },
                    "400": {
                        "description": "The specified NC either has enrolled or has expectations.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to delete specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete NC.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Performs update operations on a network construct resource",
                "description": "<p>LATEST VERSION: V3<p>Upon request accepted, code 202 is returned and the output consists of JSON objects representing current network construct resource. The \"replace\" operation is used to replace the entire attribute with the new value provided. The deprecated \"update\" operation will update or add to the existing attribute. The \"delete\" operation will delete the entire attribute, or delete specific keys if a list is provided. The \"add\" operation will add values or update key-value pairs  to the existing attribute.<p>Example requests:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"userData\" : {\n                   \"userDataKey\" : \"userDataValue\"\n               }\n            }\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"add\",\n            \"attributes\" : {\n               \"userData\" : {\n                   \"userDataKey\" : \"userDataValue\"\n               }\n            }\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"userData\"\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"userData\",\n            \"keys\" : [ \"key1\", \"key2\" ]\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\": [\n        {\n            \"op\": \"replace\",\n            \"attributes\": {\n                \"resourcePartitionInfo\": [\n                    \"partitionUUID\"\n                ],\n                \"tags\": [\n                    \"tagName\"\n                ]\n            }\n        }\n    ]\n}</code></pre><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"note\": {\n          \"noteMsg\": \"\",\n          \"lastUpdatedBy\": \"admin\",\n          \"lastUpdatedTime\": \"2021-06-15T14:03:37\"\n        }\n      }\n    }\n  ]\n}</code></pre><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"tags\": [\n          \"tag2\"\n        ],\n        \"note\": {\n          \"noteMsg\": \"This is an updated message on an NC\",\n          \"lastUpdatedBy\": \"userName\"\n        }\n      }\n    }\n  ]\n}</code></pre>",
                "operationId": "patchOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the network construct to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given network construct.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/expectations": {
            "post": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Create an NC Expectation given the nc id",
                "description": "<p>LATEST VERSION: V3<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"id\":\"4312c715-32cc-4d63-8e26-9b79db379e4b::NC_EXP\",\n  \"type\":\"networkConstructExpectations\",\n  \"relationships\": {\n    \"equipmentIntent\": {\n      \"data\": { \n        \"type\": \"equipmentIntents\", \n        \"id\": \"4312c715-32cc-4d63-8e26-9b79db379e4b::EQP_INT\" \n      }\n    }\n  }\n}</code></pre> +<p>Network construct expectations support an auto-delete on de-enroll policy. To apply the policy, add it to the network construct expectation attributes. See example below:</p><pre style='font-size: smaller'><code class='json'>{\n  ...\n  \"attributes\": {\n    \"policies\": [\n      {\n        \"type\": \"lifecycle\",\n        \"policy\": \"autoDeleteOnDeEnroll\"\n      }\n    ]\n  }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postNCExpectations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an NC expectation",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructExpectationDataRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Network construct expectations have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "The specified NC or expectation cannot be accessed by the user because partition conflicts",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/expectations/{expId}": {
            "put": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Create or update an NC Expectation given the nc id",
                "description": "<p>LATEST VERSION: V4<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"id\":\"4312c715-32cc-4d63-8e26-9b79db379e4b::NC_EXP\",\n  \"type\":\"networkConstructExpectations\",\n  \"relationships\": {\n    \"equipmentIntent\": {\n      \"data\": { \n        \"type\": \"equipmentIntents\", \n        \"id\": \"4312c715-32cc-4d63-8e26-9b79db379e4b::EQP_INT\" \n      }\n    }\n  }\n}</code></pre> +<p>Network construct expectations support an auto-delete on de-enroll policy. To apply the policy, add it to the network construct expectation attributes. See example below:</p><pre style='font-size: smaller'><code class='json'>{\n  ...\n  \"attributes\": {\n    \"policies\": [\n      {\n        \"type\": \"lifecycle\",\n        \"policy\": \"autoDeleteOnDeEnroll\"\n      }\n    ]\n  }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putNCExpectations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expId",
                        "in": "path",
                        "description": "Identifier of the Network Construct expectation to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an NC expectation",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructExpectationDataRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Network construct expectation has been created or updated",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "The specified NC or expectation cannot be accessed by the user because partition conflicts",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/expectations/{expectationId}": {
            "patch": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Performs update operations on a network construct expectation",
                "description": "<p>LATEST VERSION: V3<p>Example requests:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n                \"ipCommunicationDetails\": {\n                    \"ipv4Infrastructure\": {\n                        \"dhcpRelayAgent\": {\n                            \"enable\" : true,\n                            \"serverIp\": \"19.117.63.126\"\n                        },\n                        \"dhcpclient\": true,\n                        \"stackEnabled\": true,\n                        \"gateway\": {\n                            \"overRide\": true,\n                            \"access\": \"accessString\",\n                            \"config\": \"configString\"\n                        },\n                        \"ospfRouter\": {\n                            \"routerId\": \"19.117.63.126\",\n                            \"areaBorderRouter\": \"RFC2328\",\n                            \"areaSystemBorderRouter\": \"OFF\",\n                            \"area\": \"19.117.63.126\"\n                        }\n                    },\n                    \"ipv6Infrastructure\": {\n                        \"dhcpRelayAgent\": {\n                            \"enable\" : true,\n                            \"serverIp\": \"19.117.63.126\"\n                        },\n                        \"dhcpclient\": true,\n                        \"stackEnabled\": true,\n                        \"gateway\": {\n                            \"overRide\": true,\n                            \"access\": \"accessString\",\n                            \"config\": \"configString\"\n                        },\n                        \"ospfRouter\": {\n                            \"routerId\": \"19.117.63.126\",\n                            \"areaBorderRouter\": \"RFC2328\",\n                            \"area\": \"19.117.63.126\"\n                        }\n                    },\n                    \"iisisInfrastructure\": {\n                        \"l1priority\": 15,\n                        \"l2priority\": 17,\n                        \"routerLevel\": \"19.117.63.126\",\n                        \"routerlevelsummarisition\": \"routerlevelsummarisition\"\n                    },\n                    \"interfaceDetails\": [\n                        {\n                            \"name\": \"name\",\n                            \"ipv4\": {\n                                \"ip\": \"19.117.63.126\",\n                                \"prefix\": \"19\",\n                                \"defaultGateway\" : \"19.117.63.126\",\n                                \"subnetMask\": \"19.117.63.126\",\n                                \"dhcpRelayAgent\": true,\n                                \"ospfcircuit\": [\n                                    {\n                                        \"networkArea\": \"19.117.63.126\",\n                                        \"cost\": 200,\n                                        \"carrier\": \"carrier\",\n                                        \"identifier\" : \"ID\"\n                                    }\n                                ]\n                            },\n                            \"ipv6\" : [\n                                {\n                                    \"ip\": \"19.117.63.126\",\n                                    \"defaultGateway\": \"19.117.63.126\",\n                                    \"prefix\": \"19.117.63.126\",\n                                    \"ospfcircuit\": [\n                                        {\n                                            \"networkArea\": \"19.117.63.126\",\n                                            \"cost\": 300,\n                                            \"carrier\": \"carrierv6\",\n                                            \"identifier\": \"identifier\"\n                                        }\n                                    ]\n                                }\n                            ],\n                            \"iisis\": {\n                                \"circuit\": true\n                            }\n                        }\n                    ]\n                }\n            }\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"ipCommunicationDetails\"\n        }\n    ]\n}\n</code></pre>\n<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"srlg\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n}\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the network construct to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "The id of the expectation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given network construct.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/expectations/{networkConstructExpectationId}": {
            "get": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Retrieve an NC Expectation given the nc id and expectation id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "getNCExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which an expectation is to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to retrieve",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved NC Expectation successfully.",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC or expectation does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified NC Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Delete an NC Expectation given the nc id and expectation id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteNCExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct whose expectation is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted NC Expectation successfully."
                    },
                    "400": {
                        "description": "Invalid value specified for Attribute {attribute_name} value {attribute_value}",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete NC Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/expectations/{networkConstructExpectationId}/realize": {
            "post": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Realize an NC Expectation given the ncId and expectationId",
                "description": "",
                "operationId": "realizeNetworkConstruct",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which the expectation is to be realized",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to realize",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Realized NC Expectation successfully."
                    },
                    "204": {
                        "description": "Expectation was not found",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified NC Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/expectations/{networkConstructExpectationId}/{attributeName}": {
            "put": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Update to an existing NC Expectation",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateNCExpectationAttributeValue",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct whose expectation attribute is to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectationId",
                        "in": "path",
                        "description": "Identifier of the expectation whose attribute is to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "attributeName",
                        "in": "path",
                        "description": "Name of attribute to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired new value",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network construct expectation has been update on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "The specified NC or expectation cannot be accessed by the user because partition conflicts",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC or expectation does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/identifiers": {
            "put": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Creates or updates a REST identifier on a Network Construct",
                "description": "<p>LATEST VERSION: V4<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateNCIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The NC id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The NC identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated the NC identifier for a given NC",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created a new NC identifier for the given NC",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Deletes a REST identifier on a Network Construct",
                "description": "<p>LATEST VERSION: V4",
                "operationId": "deleteNCIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The NC id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully deleted the NC identifier"
                    },
                    "400": {
                        "description": "Bad parameters were passed, please check the identifier object for errors",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist or their was error processing information",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/identifiers/{identifierKey}": {
            "put": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Creates or updates an NC UserData Identifier to a given network construct",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateNCIdentifiersByKey",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which to create or update the identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "identifier",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network construct userData identifier have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Delete an userData Identifier from a  given network construct",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "deleteNCIdentifiers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct whose identifier is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "204": {
                        "description": "Deleted network construct userData - identifier successfully."
                    },
                    "404": {
                        "description": "The specified network construct or userData - identifier does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete network construct userData - identifier.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/networkConstructPlanned": {
            "get": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Retrieves a Network Construct planned for the given identifier",
                "description": "Network Construct planned returned as a JSON SingleManagedElement object",
                "operationId": "getNetworkConstructPlan",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "identifier of Network Construct to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructPlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to retrieve specified Managed Network Construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve specified Network Construct",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Performs L2 Nole Role assignment operation on a network construct resource",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current network construct resource. The \"replace\" operation is used to replace the L2 Node Role and Routing capabilities <p>Example requests:</p> <pre style='font-size: smaller'><code class='json'> {\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"L2Data\" : [{\n                   \"shelf\" : -1.0,\n                   \"eqptGrp\" : -1.0,\n                   \"l2NodeRole\" : AN,\n                   \"l2NodeRoutingCapabilities\" : {\n                   \"properties\" : {\n                       \"isBGPEnabled\" : true,\n                       \"isMPLSEnabled\" : true,\n                       \"isQiQEnabled\" : true,\n                       \"isRSVPTEEnabled\" : false,\n                   }\n                   }\n               }]\n            }\n            \"relationships\" : {\n                    \"manualSRLG : { }\n            }\n        }\n    ]\n}\n</code></pre>\n\n<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre>",
                "operationId": "patchPlannedNC",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the network construct to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given network construct.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/networkConstructs/{id}/physicalLocation/{physicalLocationId}": {
            "put": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Updates an NC physical location",
                "description": "<p>LATEST VERSION: V4<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateNCPhysicalLocation",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of Network Construct under which to create or update the physical location",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "path",
                        "description": "Id of physical location to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired physical location value",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network construct physical location have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to update specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "000 - nsiapinetworkConstructs"
                ],
                "summary": "Delete a physical location from a given network construct",
                "description": "<p>LATEST VERSION: V4",
                "operationId": "deletePhysicalLocationFromNC",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct whose physical location is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "path",
                        "description": "physicalLocationId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted network construct physical location successfully."
                    },
                    "403": {
                        "description": "Forbidden to update specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified network construct or physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/networkConstructs": {
            "get": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Get list of discovered Network Construct(s) satisfying the query parameters",
                "description": "Discovered Network Constructs returned as a JSON list of Network Construct objects. \nNote: When querying using identifiers, the supported syntax is as follows: \n   ?identifiers[field1+field2+...]=value1+value2+... \nFor instance, \n   ?identifiers[clli+projectId]=ABC123+XYZ ",
                "operationId": "getNetworkConstructs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of device name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "aliasName",
                        "in": "query",
                        "description": "(Optional) Key that holds the subNet name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "aliasValue",
                        "in": "query",
                        "description": "(Optional) List of subNet name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "(Optional) Management Session Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, networkConstructDiscovered, networkConstructPlanned",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "expectations",
                            "physicalLocation",
                            "parentNetworkConstruct",
                            "networkConstructDiscovered",
                            "networkConstructPlanned"
                        ]
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructType",
                        "in": "query",
                        "description": "(Optional) Network Construct type",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "networkElement",
                            "shelf",
                            "osrpNode"
                        ]
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete networkConstruct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name). If provided, must also provide searchText parameter",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Constructs",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve all network elements"
                    },
                    "500": {
                        "description": "Retrieval of network constructs failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/networkConstructs/{id}": {
            "get": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Retrieves a Network Construct given its corresponding identifier",
                "description": "Network Construct returned as a JSON SingleManagedElement object",
                "operationId": "getNetworkConstruct",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "identifier of Network Construct to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) Response filter",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, childNetworkConstructs, networkConstructDiscovered, networkConstructPlanned, srlgs, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to retrieve specified Managed Network Construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve specified Managed Network Construct",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Deletes a specific network construct",
                "description": "",
                "operationId": "deleteNCById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of Network Construct to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "204": {
                        "description": "Deleted NC successfully."
                    },
                    "400": {
                        "description": "The specified NC either has enrolled or has expectations.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to delete specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete NC.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Performs update operations on a network construct resource",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current network construct resource. The \"replace\" operation is used to replace the entire attribute with the new value provided. The deprecated \"update\" operation will update or add to the existing attribute. The \"delete\" operation will delete the entire attribute, or delete specific keys if a list is provided. The \"add\" operation will add values or update key-value pairs  to the existing attribute.<p>Example requests:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"userData\" : {\n                   \"userDataKey\" : \"userDataValue\"\n               }\n            }\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"add\",\n            \"attributes\" : {\n               \"userData\" : {\n                   \"userDataKey\" : \"userDataValue\"\n               }\n            }\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"userData\"\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"userData\",\n            \"keys\" : [ \"key1\", \"key2\" ]\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\": [\n        {\n            \"op\": \"replace\",\n            \"attributes\": {\n                \"resourcePartitionInfo\": [\n                    \"partitionUUID\"\n                ],\n                \"tags\": [\n                    \"tagName\"\n                ]\n            }\n        }\n    ]\n}</code></pre><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"note\": {\n          \"noteMsg\": \"\",\n          \"lastUpdatedBy\": \"admin\",\n          \"lastUpdatedTime\": \"2021-06-15T14:03:37\"\n        }\n      }\n    }\n  ]\n}</code></pre><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"tags\": [\n          \"tag2\"\n        ],\n        \"note\": {\n          \"noteMsg\": \"This is an updated message on an NC\",\n          \"lastUpdatedBy\": \"userName\"\n        }\n      }\n    }\n  ]\n}</code></pre>",
                "operationId": "patchOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the network construct to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given network construct.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/networkConstructs/{id}/expectations": {
            "post": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Create an NC Expectation given the nc id",
                "description": "<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"id\":\"4312c715-32cc-4d63-8e26-9b79db379e4b::NC_EXP\",\n  \"type\":\"networkConstructExpectations\",\n  \"relationships\": {\n    \"equipmentIntent\": {\n      \"data\": { \n        \"type\": \"equipmentIntents\", \n        \"id\": \"4312c715-32cc-4d63-8e26-9b79db379e4b::EQP_INT\" \n      }\n    }\n  }\n}</code></pre><p>Network construct expectations support an auto-delete on de-enroll policy. To apply the policy, add it to the network construct expectation attributes. See example below:</p><pre style='font-size: smaller'><code class='json'>{\n  ...\n  \"attributes\": {\n    \"policies\": [\n      {\n        \"type\": \"lifecycle\",\n        \"policy\": \"autoDeleteOnDeEnroll\"\n      }\n    ]\n  }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postNCExpectations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an NC expectation",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructExpectationDataRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Network construct expectations have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified NC",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/networkConstructs/{id}/expectations/{expectationId}": {
            "patch": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Performs update operations on a network construct expectation",
                "description": "<p>Example requests:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n                \"ipCommunicationDetails\": {\n                    \"ipv4Infrastructure\": {\n                        \"dhcpRelayAgent\": {\n                            \"enable\" : true,\n                            \"serverIp\": \"19.117.63.126\"\n                        },\n                        \"dhcpclient\": true,\n                        \"stackEnabled\": true,\n                        \"gateway\": {\n                            \"overRide\": true,\n                            \"access\": \"accessString\",\n                            \"config\": \"configString\"\n                        },\n                        \"ospfRouter\": {\n                            \"routerId\": \"19.117.63.126\",\n                            \"areaBorderRouter\": \"RFC2328\",\n                            \"areaSystemBorderRouter\": \"OFF\",\n                            \"area\": \"19.117.63.126\"\n                        }\n                    },\n                    \"ipv6Infrastructure\": {\n                        \"dhcpRelayAgent\": {\n                            \"enable\" : true,\n                            \"serverIp\": \"19.117.63.126\"\n                        },\n                        \"dhcpclient\": true,\n                        \"stackEnabled\": true,\n                        \"gateway\": {\n                            \"overRide\": true,\n                            \"access\": \"accessString\",\n                            \"config\": \"configString\"\n                        },\n                        \"ospfRouter\": {\n                            \"routerId\": \"19.117.63.126\",\n                            \"areaBorderRouter\": \"RFC2328\",\n                            \"area\": \"19.117.63.126\"\n                        }\n                    },\n                    \"iisisInfrastructure\": {\n                        \"l1priority\": 15,\n                        \"l2priority\": 17,\n                        \"routerLevel\": \"19.117.63.126\",\n                        \"routerlevelsummarisition\": \"routerlevelsummarisition\"\n                    },\n                    \"interfaceDetails\": [\n                        {\n                            \"name\": \"name\",\n                            \"ipv4\": {\n                                \"ip\": \"19.117.63.126\",\n                                \"defaultGateway\" : \"19.117.63.126\",\n                                \"subnetMask\": \"19.117.63.126\",\n                                \"dhcpRelayAgent\": true,\n                                \"ospfcircuit\": [\n                                    {\n                                        \"networkArea\": \"19.117.63.126\",\n                                        \"cost\": 200,\n                                        \"carrier\": \"carrier\",\n                                        \"identifier\" : \"ID\"\n                                    }\n                                ]\n                            },\n                            \"ipv6\" : [\n                                {\n                                    \"ip\": \"19.117.63.126\",\n                                    \"defaultGateway\": \"19.117.63.126\",\n                                    \"prefix\": \"19.117.63.126\",\n                                    \"ospfcircuit\": [\n                                        {\n                                            \"networkArea\": \"19.117.63.126\",\n                                            \"cost\": 300,\n                                            \"carrier\": \"carrierv6\",\n                                            \"identifier\": \"identifier\"\n                                        }\n                                    ]\n                                }\n                            ],\n                            \"iisis\": {\n                                \"circuit\": true\n                            }\n                        }\n                    ]\n                }\n            }\n        }\n    ]\n}\n</code></pre><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"path\" : \"attributes/ipcommunicationDetails/interfaceDetails/ipv4/prefix\",\n            \"identifier\" : \"loopback\",\n        }\n    ]\n}\n</code></pre>\n<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"srlg\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n}\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre>",
                "operationId": "patchExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the network construct to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "The id of the expectation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given network construct.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/networkConstructs/{id}/expectations/{networkConstructExpectationId}": {
            "get": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Retrieve an NC Expectation given the nc id and expectation id",
                "description": "",
                "operationId": "getNCExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which an expectation is to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to retrieve",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved NC Expectation successfully.",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC or expectation does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified NC Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Delete an NC Expectation given the nc id and expectation id",
                "description": "",
                "operationId": "deleteNCExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct whose expectation is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted NC Expectation successfully."
                    },
                    "400": {
                        "description": "Invalid value specified for Attribute {attribute_name} value {attribute_value}",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete NC Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/networkConstructs/{id}/expectations/{networkConstructExpectationId}/{attributeName}": {
            "put": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Update to an existing NC Expectation",
                "description": "",
                "operationId": "updateNCExpectationAttributeValue",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct whose expectation attribute is to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectationId",
                        "in": "path",
                        "description": "Identifier of the expectation whose attribute is to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "attributeName",
                        "in": "path",
                        "description": "Name of attribute to update, allowable values: name, ipAddress and shelfType ",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired new value",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network construct expectation has been update on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified NC",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC or expectation does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/networkConstructs/{id}/identifiers/{identifierKey}": {
            "put": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Creates or updates an NC UserData Identifier to a given network construct",
                "description": "",
                "operationId": "updateNCIdentifiers",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which to create or update the identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "identifier",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network construct userData identifier have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Delete an userData Identifier from a  given network construct",
                "description": "",
                "operationId": "deleteNCIdentifiers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct whose identifier is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted network construct userData - identifier successfully."
                    },
                    "404": {
                        "description": "The specified network construct or userData - identifier does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete network construct userData - identifier.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/networkConstructs/{id}/networkConstructPlanned": {
            "get": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Retrieves a Network Construct planned for the given identifier",
                "description": "Network Construct planned returned as a JSON SingleManagedElement object",
                "operationId": "getNetworkConstructPlan",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "identifier of Network Construct to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructPlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to retrieve specified Network Construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve specified Managed Network Construct",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "997 - nsiapiv3networkConstructs"
                ],
                "summary": "Performs L2 Node Role assignment operation and updates the Physical location on a network construct resource",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current network construct resource. The \"replace\" operation is used to replace the L2 Node Role and Routing capabilities <p>Example requests:</p> <pre style='font-size: smaller'><code class='json'> {\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"L2Data\" : [{\n                   \"shelf\" : -1.0,\n                   \"eqptGrp\" : -1.0,\n                   \"l2NodeRole\" : AN,\n                   \"l2NodeRoutingCapabilities\" : {\n                   \"properties\" : {\n                       \"isBGPEnabled\" : true,\n                       \"isMPLSEnabled\" : true,\n                       \"isQiQEnabled\" : true,\n                       \"isRSVPTEEnabled\" : false,\n                   }\n                   }\n               }]\n            }\n            \"relationships\" : {\n                    \"physicalLocation : {                        \"data\" : {\n                         \"type\" : physicalLocation,\n                         \"id\" : pl1\n                         }\n                       }\n            }\n        }\n    ]\n}\n</code></pre>\n<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre>",
                "operationId": "patchPlannedNC",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The id of the network construct to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given network construct.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Insufficient permission",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/networkConstructs": {
            "get": {
                "tags": [
                    "996 - nsiapiv4networkConstructs"
                ],
                "summary": "Get list of discovered Network Construct(s) satisfying the query parameters",
                "description": "Discovered Network Constructs returned as a JSON list of Network Construct objects. \nNote: When querying using identifiers, the supported syntax is as follows: \n   ?identifierKey=key1,key2,...&identifierValue=value1,value2,... \nFor instance, \n   ?identifierKey=subnetName&identifierValue=PV0438A---PV0428D---SUBNET",
                "operationId": "getNetworkConstructs",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "(Optional) List of Management Session Ids",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of device name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "in": "query",
                        "description": "(Optional) List of device displayName values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "The identifier key list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "The identifier value list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete networkConstruct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructType",
                        "in": "query",
                        "description": "(Optional) List of Network Construct types. The allowed values are: networkElement, shelf, osrpNode",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct resourceTypes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "associationState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct associationStates. The allowed values are: GOA, LOA",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "syncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. The allowed values are: notSynchronized, synchronizing, synchronized, failed, aborted, deleting, deleteFailed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "softwareVersion",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct software versions",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displaySyncState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct syncStates. The allowed values are: planned, notSynchronized, synchronizing, synchronized, failed, pending, deleting",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "subnetName",
                        "in": "query",
                        "description": "(Optional) The subnet name list",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "macAddress",
                        "in": "query",
                        "description": "(Optional) macAddress parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "typeGroup",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct typeGroups",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "slteType",
                        "in": "query",
                        "description": "(Optional)  slteType parameter used to filter results. The allowed values are: SLTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ssteType",
                        "in": "query",
                        "description": "(Optional)  ssteType parameter used to filter spectrum sharing terminal network element. The allowed values are: SSTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourcePartitionInfo",
                        "in": "query",
                        "description": "(Optional) List of resourcePartitionInfo",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "(Optional) Allow filtering on NC tags. This parameter accepts a list of comma separated strings",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: resourceType, associationState, syncState, networkConstructType, resourceState, softwareVersion, displaySyncState, tags",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, networkConstructDiscovered, networkConstructPlanned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Constructs",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve all network elements"
                    },
                    "500": {
                        "description": "Retrieval of network constructs failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v4/networkConstructs/{id}": {
            "get": {
                "tags": [
                    "996 - nsiapiv4networkConstructs"
                ],
                "summary": "Retrieves a Network Construct given its corresponding identifier",
                "description": "Network Construct returned as a JSON SingleManagedElement object",
                "operationId": "getNetworkConstruct",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "identifier of Network Construct to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) Response filter",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, childNetworkConstructs, networkConstructDiscovered, networkConstructPlanned, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to retrieve specified Managed Network Construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve specified Managed Network Construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/networkConstructs/{id}/expectations/{expId}": {
            "put": {
                "tags": [
                    "996 - nsiapiv4networkConstructs"
                ],
                "summary": "Create or update an NC Expectation given the nc id",
                "description": "<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"id\":\"4312c715-32cc-4d63-8e26-9b79db379e4b::NC_EXP\",\n  \"type\":\"networkConstructExpectations\",\n  \"relationships\": {\n    \"equipmentIntent\": {\n      \"data\": { \n        \"type\": \"equipmentIntents\", \n        \"id\": \"4312c715-32cc-4d63-8e26-9b79db379e4b::EQP_INT\" \n      }\n    }\n  }\n}</code></pre><p>Network construct expectations support an auto-delete on de-enroll policy. To apply the policy, add it to the network construct expectation attributes. See example below:</p><pre style='font-size: smaller'><code class='json'>{\n  ...\n  \"attributes\": {\n    \"policies\": [\n      {\n        \"type\": \"lifecycle\",\n        \"policy\": \"autoDeleteOnDeEnroll\"\n      }\n    ]\n  }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putNCExpectations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expId",
                        "in": "path",
                        "description": "Identifier of the Network Construct expectation to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an NC expectation",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructExpectationDataRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Network construct expectation has been created or updated",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/networkConstructs/{id}/identifiers": {
            "put": {
                "tags": [
                    "996 - nsiapiv4networkConstructs"
                ],
                "summary": "Puts or updates a REST identifier on a Network Construct",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateNCIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The NC id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The NC identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated the NC identifier for a given NC",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created a new NC identifier for the given NC",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "996 - nsiapiv4networkConstructs"
                ],
                "summary": "Deletes a REST identifier on a Network Construct",
                "description": "",
                "operationId": "deleteNCIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The NC id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Unsuccessfully deleted the NC identifier"
                    },
                    "204": {
                        "description": "Successfully deleted the NC identifier"
                    },
                    "400": {
                        "description": "Bad parameters were passed, please check the identifier object for errors",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist or their was error processing information",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/networkConstructs/{id}/physicalLocation/{physicalLocationId}": {
            "put": {
                "tags": [
                    "996 - nsiapiv4networkConstructs"
                ],
                "summary": "Updates an NC physical location",
                "description": "",
                "operationId": "updateNCPhysicalLocation",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of Network Construct under which to create or update the physical location",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "path",
                        "description": "Id of physical location to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired physical location value",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network construct physical location have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to update specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified network construct does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "996 - nsiapiv4networkConstructs"
                ],
                "summary": "Delete a physical location from a  given network construct",
                "description": "",
                "operationId": "deletePhysicalLocationFromNC",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct whose physical location is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "path",
                        "description": "physicalLocationId",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted network construct physical location successfully."
                    },
                    "403": {
                        "description": "Forbidden to update specified network construct",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified network construct or physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v5/networkConstructs": {
            "get": {
                "tags": [
                    "995 - nsiapiv5networkConstructs"
                ],
                "summary": "Get list of discovered Network Construct(s) satisfying the query parameters",
                "description": "Discovered Network Constructs returned as a JSON list of Network Construct objects. \nNote: When querying using identifiers, the supported syntax is as follows: \n   ?identifierKey=key1,key2,...&identifierValue=value1,value2,... \nFor instance, \n   ?identifierKey=subnetName&identifierValue=PV0438A---PV0428D---SUBNET<p>Only one of the following parameters can be specified:<ul><li>name<li>ipAddress<li>identifierKey + identifierValue<li>sessionId<li>networkConstructExpectations.equipmentIntent.id<li>networkConstructExpectations.serviceIntent.id<li>physicalLocationId<li>networkConstructType<li>concrete</ul>",
                "operationId": "getNetworkConstructsV5",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of device name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "The identifier key list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "The identifier value list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "(Optional) Management Session Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructType",
                        "in": "query",
                        "description": "(Optional) Network Construct type. The allowed values are: networkElement, shelf, osrpNode, manual, branchingUnit, submarineRepeater",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete networkConstruct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, networkConstructDiscovered, networkConstructPlanned, srlgs",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Constructs",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve all network elements"
                    },
                    "500": {
                        "description": "Retrieval of network constructs failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "995 - nsiapiv5networkConstructs"
                ],
                "summary": "Creates or updates network construct with only userData, resourcePartitionInfo and/or networkConstructType",
                "description": "Upon success, code 201 is returned and the output consists of JSON objects representing the Network Construct.<p>All the attributes other than identifiers, userData, resourcePartitionInfo, notes and networkConstructType will be ignored.</p><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\": {\n        \"type\": \"networkConstructs\",\n        \"attributes\": {\n            \"identifiers\": [\n                {\n                    \"siteName\": \"clli1\",\n                    \"projectName\": \"projectName1\"\n                },\n                {\n                    \"projectName\": \"projectName1\"\n                }\n            ],\n            \"userData\": {\n                \"latitudeLongitudeString\": \"-52.455143603762195,115.42581387725983\"\n            },\n            \"networkConstructType\": \"manual\",\n            \"resourcePartitionInfo\": [\n                \"partitiionUUID\"\n            ],\n            \"note\": {\n                     \"noteMsg\": \"This is an manual NC note\",\n                     \"lastUpdatedBy\": \"user1\"\n             }\n        }\n    }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postNetworkConstruct",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an NC provided with userData, physical location and resourcePartitionInfo",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Network construct user data has been replaced on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "201": {
                        "description": "Network construct has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v5/networkConstructs/{id}/expectations/{networkConstructExpectationId}/realize": {
            "post": {
                "tags": [
                    "995 - nsiapiv5networkConstructs"
                ],
                "summary": "Realize an NC Expectation given the ncId and expectationId",
                "description": "",
                "operationId": "realizeNetworkConstruct",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the Network Construct under which the expectation is to be realized",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to realize",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Realized NC Expectation successfully."
                    },
                    "204": {
                        "description": "Expectation was not found",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified NC does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified NC Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v6/networkConstructs": {
            "get": {
                "tags": [
                    "994 - nsiapiv6networkConstructs"
                ],
                "summary": "Get list of discovered Network Construct(s) satisfying the query parameters",
                "description": "Discovered Network Constructs returned as a JSON list of Network Construct objects. \nNote: When querying using identifiers, the supported syntax is as follows: \n   ?identifierKey=key1,key2,...&identifierValue=value1,value2,... \nFor instance, \n   ?identifierKey=subnetName&identifierValue=PV0438A---PV0428D---SUBNET<p>Only one of the following parameters can be specified:<ul><li>name<li>ipAddress<li>identifierKey + identifierValue<li>sessionId<li>networkConstructExpectations.equipmentIntent.id<li>networkConstructExpectations.serviceIntent.id<li>physicalLocationId<li>networkConstructType<li>concrete</ul>",
                "operationId": "getNetworkConstructsV6",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "name",
                        "in": "query",
                        "description": "(Optional) List of device name values",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "description": "(Optional) Ip Address of Network Construct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "The identifier key list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "The identifier value list",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "sessionId",
                        "in": "query",
                        "description": "(Optional) Management Session Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "physicalLocationId",
                        "in": "query",
                        "description": "(Optional) Physical location id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstructType",
                        "in": "query",
                        "description": "(Optional) Network Construct type. The allowed values are: networkElement, shelf, osrpNode, manual, branchingUnit, submarineRepeater, foreignNode",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ssteType",
                        "in": "query",
                        "description": "(Optional)  ssteType parameter used to filter spectrum sharing terminal network element. The allowed values are: SSTE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete networkConstruct",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations, physicalLocation, parentNetworkConstruct, networkConstructDiscovered, networkConstructPlanned, utilization, timing",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Network Constructs",
                        "schema": {
                            "$ref": "#/definitions/NetworkConstructListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve all network elements"
                    },
                    "500": {
                        "description": "Retrieval of network constructs failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/physicalLocations": {
            "get": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Get list of physical locations",
                "description": "<p>LATEST VERSION: V4<p>Discovered locations returned as a JSON list of physical location objects",
                "operationId": "getPhysicalLocations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of physical locations",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve physical location",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of physical location failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Creates or updates a physical location",
                "description": "<p>LATEST VERSION: V3<p>Upon success, code 201 is returned and the output consists of JSON objects representing the physical location.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"1\",\n    \"type\": \"physicalLocation\"\n  }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postPhysicalLocation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an physical location.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "201": {
                        "description": "Physical location has been created on the server"
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/physicalLocations/{id}": {
            "get": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Retrieve a physical location with given id",
                "description": "<p>LATEST VERSION: V3<p>Discovered location returned as a JSON format of physical location object",
                "operationId": "getPhysicalLocationById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved physical location successfully.",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified physical location",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/physicalLocations/{id}/expectations": {
            "post": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Create an physical location expectation given the physical location id",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postPhysicalLocationExpectations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Physical location expectation to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationExpectationDataRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Physical location expectations have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/physicalLocations/{id}/expectations/{expectationId}": {
            "get": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Retrieve an physical locations Expectation given the physical locations id and expectation id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "getPhysicalLocationExpectationById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location under which an expectation is to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to retrieve",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved physical locations expectation successfully.",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationExpectationRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical locations or expectation does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified physical locations Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Delete an physical location expectation given the physical location id and expectation id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deletePhysicalLocationExpectationById",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location whose expectation is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location expectation successfully."
                    },
                    "400": {
                        "description": "Invalid value specified for Attribute {attribute_name} value {attribute_value}",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location or expectation does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/physicalLocations/{id}/identifiers/{identifierKey}": {
            "put": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Creates or updates an Identifier to a given physical location",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updatePhysicalLocationIdentifiers",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location under which to create or update the identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "identifier",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Physical location userData identifier have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Delete an Identifier from a given physical location",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deletePhysicalLocationIdentifiers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location whose identifier is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location identifier successfully."
                    },
                    "404": {
                        "description": "The specified physical location or identifier does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location identifier.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/physicalLocations/{id}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Creates or updates an UserData to a given physical location",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of physical location under which to create or update the UserData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired userData value",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Physical location userData have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Delete a userData from a given physical location",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deletePhysicalLocationUserData",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location whose UserData is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location userData successfully."
                    },
                    "404": {
                        "description": "The specified physical location or userData does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location userData - identifier.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/physicalLocations/{physicalLocationId}": {
            "delete": {
                "tags": [
                    "000 - nsiapiphysicalLocations"
                ],
                "summary": "Deletes a specific physical location",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deletePhysicalLocationById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "physicalLocationId",
                        "in": "path",
                        "description": "Identifier of the physical location to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location successfully."
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "409": {
                        "description": "The physical location is related to networkConstruct/networkConstructExpectation, cannot delete.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location (error message provided).",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/physicalLocations": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0physicalLocations"
                ],
                "summary": "Get list of physical locations",
                "description": "Discovered locations returned as a JSON list of physical location objects",
                "operationId": "getPhysicalLocations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of physical locations",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Unable to retrieve physical location"
                    },
                    "500": {
                        "description": "Retrieval of physical location failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "998 - nsiapiv2_0physicalLocations"
                ],
                "summary": "Creates or updates a physical location",
                "description": "Upon success, code 201 is returned and the output consists of JSON objects representing the physical location.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"1\",\n    \"type\": \"physicalLocation\"\n  }\n}</code></pre>",
                "operationId": "postPhysicalLocation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an physical location.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "201": {
                        "description": "Physical location has been created on the server"
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/physicalLocations/{physicalLocationId}": {
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0physicalLocations"
                ],
                "summary": "Deletes a specific physical location",
                "description": "",
                "operationId": "deletePhysicalLocationById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "physicalLocationId",
                        "in": "path",
                        "description": "Identifier of the physical location to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location successfully."
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "409": {
                        "description": "The physical location is related to networkConstruct/networkConstructExpectation, cannot delete.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location (error message provided).",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/physicalLocations": {
            "get": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Get list of physical locations",
                "description": "Discovered locations returned as a JSON list of physical location objects",
                "operationId": "getPhysicalLocations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of physical locations",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request"
                    },
                    "404": {
                        "description": "Unable to retrieve physical location"
                    },
                    "500": {
                        "description": "Retrieval of physical location failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Trigger the  creation of physical location",
                "description": "Upon success, code 201 is returned and the output consists of JSON objects representing the physical location.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"1\",\n    \"type\": \"physicalLocation\"\n  }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postPhysicalLocation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an physical location.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "201": {
                        "description": "Physical location has been created on the server"
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/physicalLocations/{id}": {
            "get": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Retrieve a physical location with given id",
                "description": "",
                "operationId": "getPhysicalLocationById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved physical location successfully.",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified physical location",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/physicalLocations/{id}/expectations": {
            "post": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Create an physical location expectation given the physical location id",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postPhysicalLocationExpectations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Physical location expectation to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationExpectationDataRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Physical location expectations have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/physicalLocations/{id}/expectations/{expectationId}": {
            "get": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Retrieve an physical locations Expectation given the physical locations id and expectation id",
                "description": "",
                "operationId": "getPhysicalLocationExpectationById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location under which an expectation is to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to retrieve",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved physical locations expectation successfully.",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationExpectationRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical locations or expectation does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified physical locations Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Delete an physical location expectation given the physical location id and expectation id",
                "description": "",
                "operationId": "deletePhysicalLocationExpectationById",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location whose expectation is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "Identifier of the expectation to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location expectation successfully."
                    },
                    "400": {
                        "description": "Invalid value specified for Attribute {attribute_name} value {attribute_value}",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location or expectation does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/physicalLocations/{id}/identifiers/{identifierKey}": {
            "put": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Creates or updates an Identifier to a given physical location",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updatePhysicalLocationIdentifiers",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location under which to create or update the identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "identifier",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Physical location userData identifier have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Delete an Identifier from a given physical location",
                "description": "",
                "operationId": "deletePhysicalLocationIdentifiers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location whose identifier is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location identifier successfully."
                    },
                    "404": {
                        "description": "The specified physical location or identifier does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location identifier.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/physicalLocations/{id}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Creates or updates an UserData to a given physical location",
                "description": "",
                "operationId": "updateUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of physical location under which to create or update the UserData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired userData value",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Physical location userData have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Delete a userData from a given physical location",
                "description": "",
                "operationId": "deletePhysicalLocationUserData",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the physical location whose UserData is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location userData successfully."
                    },
                    "404": {
                        "description": "The specified physical location or userData does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location userData - identifier.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/physicalLocations/{physicalLocationId}": {
            "delete": {
                "tags": [
                    "997 - nsiapiv3physicalLocations"
                ],
                "summary": "Delete a physical location with given id.",
                "description": "",
                "operationId": "deletePhysicalLocationById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "physicalLocationId",
                        "in": "path",
                        "description": "Identifier of the physical location to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted physical location successfully."
                    },
                    "404": {
                        "description": "The specified physical location does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "409": {
                        "description": "The physical location is related to networkConstruct/networkConstructExpectation, cannot delete.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete physical location (error message provided).",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/physicalLocations": {
            "get": {
                "tags": [
                    "996 - nsiapiv4physicalLocations"
                ],
                "summary": "Get list of physical locations",
                "description": "Discovered locations returned as a JSON list of physical location objects",
                "operationId": "getPhysicalLocations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of physical locations",
                        "schema": {
                            "$ref": "#/definitions/PhysicalLocationListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unable to retrieve physical location",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of physical location failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/timing/api/v1/timingNode/{ncId}": {
            "get": {
                "tags": [
                    "TimingNodeV1"
                ],
                "summary": "Get all timing node data",
                "description": "",
                "operationId": "getTimingNode",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "path",
                        "description": "The NC ID",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "withLinks",
                        "in": "query",
                        "description": "True to include TimingLinks",
                        "required": false,
                        "type": "string",
                        "default": "true"
                    },
                    {
                        "name": "noCache",
                        "in": "query",
                        "description": "True to not use the cache",
                        "required": false,
                        "type": "string",
                        "default": "false"
                    },
                    {
                        "name": "preemptiveSync",
                        "in": "query",
                        "description": "Instruction to execute as background tasks pre-emptive sync of adjacent timing nodes based on port types IN, OUT or ALL (default no execution)",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "IN",
                            "OUT",
                            "ALL"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The TimingNode object",
                        "schema": {
                            "$ref": "#/definitions/TimingNodeRo"
                        }
                    },
                    "400": {
                        "description": "The request has invalid parameters"
                    },
                    "404": {
                        "description": "The server did not find the matching resource."
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request"
                    }
                }
            }
        },
        "/era/api/v1/cards": {
            "get": {
                "tags": [
                    "Cards"
                ],
                "summary": "Get the cards for the current snapshot compared to a baseline",
                "description": "",
                "operationId": "getCards",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "currentId",
                        "in": "query",
                        "description": "currentId",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "baselineId",
                        "in": "query",
                        "description": "baselineId",
                        "required": false,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "reportType",
                        "in": "query",
                        "description": "reportType",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned the cards",
                        "schema": {
                            "$ref": "#/definitions/CardsRO"
                        }
                    },
                    "400": {
                        "description": "The required queryParam 'currentId' was not specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No snapshot with the currentId or baselineId provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the report",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/reports": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Get a delta report by report id and baseline snapshot id",
                "description": "",
                "operationId": "getDeltaReport",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "report",
                        "in": "query",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "baseline",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned a delta report",
                        "schema": {
                            "$ref": "#/definitions/ReportRO"
                        }
                    },
                    "404": {
                        "description": "No report found with given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the report",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/reports/{reportId}": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Get a report by reportId",
                "description": "",
                "operationId": "getReport",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned a report",
                        "schema": {
                            "$ref": "#/definitions/ReportRO"
                        }
                    },
                    "404": {
                        "description": "No report found with given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the report",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/schedules": {
            "get": {
                "tags": [
                    "Scheduling"
                ],
                "summary": "Get all current schedules",
                "description": "",
                "operationId": "getSchedules",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully got all schedules",
                        "schema": {
                            "$ref": "#/definitions/ScheduleRO"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the schedules",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Scheduling"
                ],
                "summary": "Create an extending report schedule",
                "description": "",
                "operationId": "createSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Schedule request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceEnvelopeScheduleRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully created schedule"
                    },
                    "400": {
                        "description": "Cannot create schedule as requested",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while creating the schedule",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/schedules/{id}": {
            "get": {
                "tags": [
                    "Scheduling"
                ],
                "summary": "Get a schedule by id",
                "description": "",
                "operationId": "getSchedule",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned schedule",
                        "schema": {
                            "$ref": "#/definitions/ScheduleRO"
                        }
                    },
                    "404": {
                        "description": "No schedule found with given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the schedule",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Scheduling"
                ],
                "summary": "Update an extending report schedule",
                "description": "Update a schedule to match the schedule provided. If a schedule is not included only enabled will be updated.",
                "operationId": "editSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Schedule request",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ResourceEnvelopeScheduleRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return updated schedule"
                    },
                    "304": {
                        "description": "Enabled status not changed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "400": {
                        "description": "Cannot update schedule to match requested schedule",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Schedule not found with given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while updating the schedule",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Scheduling"
                ],
                "summary": "Delete a schedule",
                "description": "",
                "operationId": "deleteSchedule",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Schedule successfully deleted"
                    },
                    "400": {
                        "description": "UUID not acceptable",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Schedule not found with given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while deleting the schedule",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/sectionReport/{snapshotId}": {
            "get": {
                "tags": [
                    "Reporting"
                ],
                "summary": "Get a section report by snapshotId in the legacy format",
                "description": "",
                "operationId": "getSectionReport",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned a report",
                        "schema": {
                            "$ref": "#/definitions/SectionReportResponseRO"
                        }
                    },
                    "404": {
                        "description": "No report found with given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the report",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/sftp/connectivityConfig": {
            "post": {
                "tags": [
                    "SFTP",
                    "sftp"
                ],
                "summary": "Configure SFTP connectivity",
                "description": "",
                "operationId": "updateConfiguration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceEnvelopeSFTPConfigurationRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration updated"
                    },
                    "400": {
                        "description": "Invalid configuration",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/snapshots": {
            "get": {
                "tags": [
                    "Snapshots"
                ],
                "summary": "Get a list of all snapshots",
                "description": "",
                "operationId": "getSnapshots",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "state",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "type": "integer",
                        "format": "int32"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned a list of snapshots",
                        "schema": {
                            "$ref": "#/definitions/SnapshotRO"
                        }
                    },
                    "400": {
                        "description": "An invalid snapshot state was provided",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the list of snapshots",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Snapshots"
                ],
                "summary": "Create a snapshot",
                "description": "",
                "operationId": "createCapture",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ResourceEnvelopeSnapshotRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully create a snapshot",
                        "schema": {
                            "$ref": "#/definitions/SnapshotRO"
                        }
                    },
                    "400": {
                        "description": "Invalid snapshot mode",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "406": {
                        "description": "Cannot create a scheduled capture",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Capture collection already in progress",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while creating the snapshot",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/snapshots/{snapshotId}": {
            "get": {
                "tags": [
                    "Snapshots"
                ],
                "summary": "Get a snapshot by snapshotId",
                "description": "",
                "operationId": "getSnapshot",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned a snapshot",
                        "schema": {
                            "$ref": "#/definitions/SnapshotRO"
                        }
                    },
                    "404": {
                        "description": "No snapshot found with given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the snapshot",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Snapshots"
                ],
                "summary": "Upload the capture file for an upload snapshot",
                "description": "",
                "operationId": "uploadCapture",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "file",
                        "in": "formData",
                        "required": true,
                        "type": "file"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully uploaded a capture file",
                        "schema": {
                            "$ref": "#/definitions/SnapshotRO"
                        }
                    },
                    "400": {
                        "description": "Capture file form data missing",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Capture file already uploaded for the given snapshotId or the maximum number of capture files has been reached",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No snapshot found with given id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while uploading the capture file",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Snapshots"
                ],
                "summary": "Delete a snapshot by snapshotId",
                "description": "",
                "operationId": "deleteSnapshot",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully deleted the snapshot"
                    },
                    "400": {
                        "description": "Snapshot is not in a state that allows for it to be deleted",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while deleting the snapshot",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/snapshots/{snapshotId}/download": {
            "get": {
                "tags": [
                    "Snapshots"
                ],
                "summary": "Download the capture file by snapshotId",
                "description": "",
                "operationId": "downloadCapture",
                "produces": [
                    "application/octet-stream",
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned the capture file",
                        "schema": {
                            "$ref": "#/definitions/File"
                        }
                    },
                    "404": {
                        "description": "No capture file found with given snapshotId",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while downloading the capture file",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/snapshots/{snapshotId}/file": {
            "delete": {
                "tags": [
                    "Snapshots"
                ],
                "summary": "Delete a capture file by snapshotId",
                "description": "",
                "operationId": "deleteCaptureFile",
                "consumes": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "snapshotId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/DeleteCaptureRO"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully deleted the capture file"
                    },
                    "500": {
                        "description": "The server encountered an error while deleting the capture file",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v1/trends/{reportName}": {
            "get": {
                "tags": [
                    "Trends"
                ],
                "summary": "Get the trend group corresponding to the specified report name, source, and OMS",
                "description": "",
                "operationId": "getReport",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned a trend group",
                        "schema": {
                            "$ref": "#/definitions/TrendGroupRO"
                        }
                    },
                    "400": {
                        "description": "Missing required query parameter(s) identifying trend group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unknown trend report name",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the trend group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/era/api/v2/trends/{reportName}": {
            "get": {
                "tags": [
                    "Trends"
                ],
                "summary": "Get the trend group corresponding to the specified report name, source, and OMS",
                "description": "",
                "operationId": "getReport",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "ENTITYNAME",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned a trend group",
                        "schema": {
                            "$ref": "#/definitions/TrendGroupRO"
                        }
                    },
                    "400": {
                        "description": "Missing required query parameter(s) identifying trend group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Unknown trend report name",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while getting the trend group",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/otdr/api/v1/entities": {
            "get": {
                "tags": [
                    "OTDR entities"
                ],
                "description": "Use this API to fetch OTDR supporting entities.\n\nPrerequisite: management session id.\n",
                "summary": "Get OTDR entities",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved OTDR entities.",
                        "schema": {
                            "title": "OTDR entities",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters, could not find session_id parameter.",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of OTDR Entities failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "OTDR entities"
                ],
                "description": "Use this API to start/stop trace on OTDR entities.\n\nPrerequisite: management session id.\n",
                "summary": "Start/Stop trace on OTDR entities",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "trace entities",
                        "in": "body",
                        "description": "Start/Stop trace parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/startstoptrace"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Start/Stop trace successfully initiated.",
                        "schema": {
                            "title": "Start/StopTrace",
                            "type": "object"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters could not find session_id parameter",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Start/Stop trace failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "OTDR entities"
                ],
                "description": "Use this API to edit an underlying OTDR entity.\n\nPrerequisite: management session id and entity id.\n",
                "summary": "Edit an OTDR entity",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "trace_id",
                        "in": "query",
                        "description": "OTDR entity id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "OTDR entity",
                        "in": "body",
                        "description": "OTDR entity parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/otdrentity"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Edit successful on OTDR entity.",
                        "schema": {
                            "title": "OTDREntityEdit",
                            "type": "object"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters could not find session_id parameter",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "OTDR Entity edit failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/otdr/api/v1/tracelist": {
            "get": {
                "tags": [
                    "OTDR SOR tracelist"
                ],
                "description": "Use this API to fetch SOR tracelist associated with an OTDR entity.\n\nPrerequisite: management session id and entity id.\n",
                "summary": "Get SOR tracelist",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "trace_id",
                        "in": "query",
                        "description": "OTDR entity id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved SOR tracelist.",
                        "schema": {
                            "title": "OTDR tracelist",
                            "type": "object",
                            "properties": {}
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters, could not find session_id parameter.",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of OTDR SOR tracelist failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/otdr/api/v1/spanlength": {
            "get": {
                "tags": [
                    "OTDR spanlength"
                ],
                "description": "Use this API to fetch the length of the span associated with an OTDR entity.\n\nPrerequisite: management session id and entity id.\n",
                "summary": "Get OTDR Spanlength",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "trace_id",
                        "in": "query",
                        "description": "OTDR entity id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved OTDR spanlength.",
                        "schema": {
                            "title": "OTDR spanlength",
                            "type": "object",
                            "properties": {}
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters, could not find session_id parameter.",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of OTDR spanlength failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/otdr/api/v1/sordownload": {
            "post": {
                "tags": [
                    "OTDR SOR download v1"
                ],
                "description": "Use this API to sftp a SOR file.\n\nPrerequisite: management session id.\n",
                "summary": "SFTP sor file",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profile_name",
                        "in": "query",
                        "description": "Profile name of SOR download profile",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data",
                        "in": "body",
                        "description": "SOR download parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/sordownloadv1"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SOR file successfully downloaded.",
                        "schema": {
                            "title": "SORDOownloadConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameter, could not find session_id parameter ",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "SFTP of SOR file failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/otdr/api/v2/sordownload": {
            "post": {
                "tags": [
                    "OTDR SOR download v2"
                ],
                "description": "Use this API to sftp a SOR file.\n\nPrerequisite: management session id.\n",
                "summary": "SFTP sor file",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profile_name",
                        "in": "query",
                        "description": "Profile name of SOR download profile",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data",
                        "in": "body",
                        "description": "SOR download parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/sordownloadv2"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SOR file successfully downloaded.",
                        "schema": {
                            "title": "SORDOownloadConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters, could not find session_id parameter.",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "SFTP of SOR file failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/otdr/api/v1/profile": {
            "get": {
                "tags": [
                    "SOR download profiles"
                ],
                "description": "Use this API to retrieve SOR download profiles.\n",
                "summary": "Get SOR download profiles",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved SOR download profiles.",
                        "schema": {
                            "title": "SOR download profiles",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string"
                                            },
                                            "profile_name": {
                                                "type": "string"
                                            },
                                            "description": {
                                                "type": "string"
                                            },
                                            "user_name": {
                                                "type": "string"
                                            },
                                            "passwd": {
                                                "type": "string"
                                            },
                                            "ip_address": {
                                                "type": "string"
                                            },
                                            "protocol_type": {
                                                "type": "string"
                                            },
                                            "port": {
                                                "type": "string"
                                            },
                                            "location": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of SOR download profiles failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "SOR download profiles"
                ],
                "description": "Use this API to create an SOR download profile.\n",
                "summary": "Creates a SOR download profile",
                "parameters": [
                    {
                        "name": "profile ",
                        "in": "body",
                        "description": "SOR download profile parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/otdrprofile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SOR download profile created successfully. ",
                        "schema": {
                            "title": "ProfileCreationConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "SOR download profile creation failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "SOR download profiles"
                ],
                "description": "Use this API to edit an existing SOR download profile.\n\nPrerequisite: profile id.\n",
                "summary": "Edit a SOR download profile",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Profile id of the profile to be edited",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profile",
                        "in": "body",
                        "description": "SOR download profile parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/otdrprofile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SOR download profile updated successfully.",
                        "schema": {
                            "title": "OTDRProfileEditConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "SOR download profile updation failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "SOR download profiles"
                ],
                "description": "Use this API to delete an existing SOR download profile.\n\nPrerequisite: profile id.\n",
                "summary": "Delete a SOR download profile",
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "Profile id of the profile to be edited",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SOR download profile deleted successfully.",
                        "schema": {
                            "title": "OTDRProfileDeleteConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "SOR download profile deletion failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/otdr/api/v1/traceprofiles": {
            "get": {
                "tags": [
                    "OTDR trace profiles"
                ],
                "description": "Use this API to retrieve OTDR trace profiles.\n\nPrerequisite: management session id.\n",
                "summary": "Get OTDR trace profiles",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved OTDR trace profiles.",
                        "schema": {
                            "title": "OTDR trace profiles",
                            "type": "object",
                            "properties": {}
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters, could not find session_id parameter.",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of OTDR trace profiles failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "OTDR trace profiles"
                ],
                "description": "Use this API to create an OTDR trace profile.\n\nPrerequisite: management session id.\n",
                "summary": "Create an OTDR trace profile",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profile_id",
                        "in": "query",
                        "description": "OTDR trace profile id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profile_parameters",
                        "in": "body",
                        "description": "OTDR trace profile parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/otdrtraceprofiles"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OTDR trace profile created successfully.",
                        "schema": {
                            "title": "CreateOTDRTraceProfileConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters, could not find session_id parameter.",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "OTDR trace profile creation failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "OTDR trace profiles"
                ],
                "description": "Use this API to edit an existing OTDR trace profile.\n\nPrerequisite: management session id and trace profile id.\n",
                "summary": "Edit an OTDR trace profile",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profile_id",
                        "in": "query",
                        "description": "OTDR trace profile id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profile_parameters",
                        "in": "body",
                        "description": "OTDR trace profile parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/otdrtraceprofiles"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OTDR Trace Profile updated successfully.",
                        "schema": {
                            "title": "EditOTDRTraceProfileConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters, could not find session_id parameter.",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "OTDR trace profile updation failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "OTDR trace profiles"
                ],
                "description": "Use this API to delete an existing OTDR trace profile.\n\nPrerequisite: management session id and trace profile id.\n",
                "summary": "Delete an OTDR trace profile",
                "parameters": [
                    {
                        "name": "session_id",
                        "in": "query",
                        "description": "Management session id of enrolled NE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "profile_id",
                        "in": "query",
                        "description": "OTDR trace profile id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OTDR Trace Profile deleted successfully.",
                        "schema": {
                            "title": "DeleteOTDRTraceProfileConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Not found request. Invalid parameters, could not find session_id parameter.",
                        "schema": {
                            "title": "Not Found",
                            "type": "object",
                            "properties": {
                                "statuscode": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "OTDR trace profile deletion failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/otdr/api/v1/sortraces": {
            "get": {
                "tags": [
                    "OTDR Saved SOR traces"
                ],
                "description": "Use this API to fetch SOR traces saved in MCP.\n\nPrerequisite: FRE Id.\n",
                "summary": "Get Saved SOR traces",
                "parameters": [
                    {
                        "name": "fre_id",
                        "in": "query",
                        "description": "Identifier of the FRE",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved saved SOR traces from MCP.",
                        "schema": {
                            "title": "OTDR SOR traces",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string"
                                            },
                                            "type": {
                                                "type": "string",
                                                "default": "sorTrace"
                                            },
                                            "attributes": {
                                                "type": "object",
                                                "properties": {
                                                    "file_name": {
                                                        "type": "string"
                                                    },
                                                    "tid_name": {
                                                        "type": "string"
                                                    },
                                                    "trace_tag": {
                                                        "type": "string"
                                                    },
                                                    "trace_type": {
                                                        "type": "string"
                                                    },
                                                    "trace_id": {
                                                        "type": "string"
                                                    },
                                                    "label": {
                                                        "type": "string"
                                                    },
                                                    "timestamp": {
                                                        "type": "string"
                                                    },
                                                    "trace_direction": {
                                                        "type": "string"
                                                    }
                                                }
                                            },
                                            "relationships": {
                                                "type": "object",
                                                "properties": {
                                                    "networkConstruct": {
                                                        "type": "object",
                                                        "properties": {
                                                            "data": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "type": {
                                                                        "type": "string",
                                                                        "default": "networkConstructs"
                                                                    },
                                                                    "id": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find fre_id parameter.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of saved SOR traces failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "FAILED"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "OTDR Saved SOR traces"
                ],
                "description": "Use this API to retrieve the SOR traces for the fiber endpoints.\n\nPrerequisite: FRE Id.\n",
                "summary": "Retrieve SOR traces",
                "parameters": [
                    {
                        "name": "fre_id",
                        "in": "query",
                        "description": "Identifier of the FRE",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved SOR traces for the fiber endpoints.",
                        "schema": {
                            "title": "OTDR SOR traces",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find fre_id parameter.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the SOR traces for the fiber endpoints, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "FAILED"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "OTDR Saved SOR traces"
                ],
                "description": "Use this API to edit SOR trace label.\n\nPrerequisite: Network Construct Id, Trace Id, File name.\n",
                "summary": "Edit Saved SOR trace label",
                "parameters": [
                    {
                        "name": "sor_trace_parameters ",
                        "in": "body",
                        "description": "OTDR Saved SOR trace parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/editsortrace"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Saved SOR trace label updated successfully.",
                        "schema": {
                            "title": "OTDR SOR traces",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "SUCCESS"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find sor trace record.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Updation of saved SOR trace label failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "FAILED"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "OTDR Saved SOR traces"
                ],
                "description": "Use this API to delete a SOR trace file saved in MCP.\n\nPrerequisite: Network Construct Id, Trace Id, File name.\n",
                "summary": "Delete a Saved SOR trace file",
                "parameters": [
                    {
                        "name": "sor_trace_parameters ",
                        "in": "body",
                        "description": "OTDR Saved SOR trace parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/deletesortrace"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Saved SOR trace file deleted successfully.",
                        "schema": {
                            "title": "OTDR SOR traces",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "failure": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "207": {
                        "description": "Saved SOR trace file Multi-Status response.",
                        "schema": {
                            "title": "OTDR SOR traces",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "failure": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find sor trace record.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Deletion of saved SOR trace file failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "FAILED"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/otdr/api/v1/sor/parse": {
            "post": {
                "tags": [
                    "OTDR Parse SOR traces"
                ],
                "description": "Use this API to retrieve the parsed SOR trace files saved in MCP.\n\nPrerequisite: File Name.\n",
                "summary": "Retrieve parsed SOR traces",
                "parameters": [
                    {
                        "name": "parse_sor_trace_files",
                        "in": "body",
                        "description": "OTDR Parse SOR trace files parameters",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/parsesortrace"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved parsed SOR trace files saved in MCP.",
                        "schema": {
                            "title": "OTDR Parse SOR traces",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                },
                                "results": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "failure": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "207": {
                        "description": "Parsed SOR trace files Multi-Status response.",
                        "schema": {
                            "title": "OTDR Parse SOR traces",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                },
                                "results": {
                                    "type": "object",
                                    "properties": {
                                        "success": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "failure": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find file(s) in MCP.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the parsed SOR trace files, error message provided in logs and response.",
                        "schema": {
                            "title": "Request Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "FAILED"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/perfg/api/channelmargins": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Get list of services and their margins",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapi"
                ],
                "summary": "Get all OTSi services and their margins",
                "operationId": "getChanMargins",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Offset for the second page",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "30",
                        "description": "The size of a returned page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Channel Margins",
                        "schema": {
                            "$ref": "#/definitions/ChanList"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "500": {
                        "description": "Retrieval of Channel Margins failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/channelmargins/{freid}": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Get detailed channel margin data for a specific service",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapi"
                ],
                "summary": "Get detailed channel margin data for a specific service",
                "operationId": "getChanMargin",
                "parameters": [
                    {
                        "type": "string",
                        "description": "identifier of OTSi service to be retrieved",
                        "name": "freid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "Tx",
                            "Rx"
                        ],
                        "type": "string",
                        "description": "Tx or Rx termination end of the OTSi service. The allowed values are: Tx, Rx",
                        "name": "dir",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/MarginDetailsRO"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "Unable to retrieve specified OTSi service and its margin"
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/configs": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Get list of configuration settings that Performance Gauge uses",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapi"
                ],
                "summary": "Get the configuration settings of Performance Gauge",
                "operationId": "getConfigs",
                "responses": {
                    "200": {
                        "description": "List of configuration settings",
                        "schema": {
                            "$ref": "#/definitions/ConfigurationAttributesRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Configurations failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            },
            "post": {
                "description": "<p>LATEST VERSION: V2<p>Modify one or more configuration settings of Performance Gauge",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapi"
                ],
                "summary": "Create or change the configuration settings of Performance Gauge",
                "operationId": "postConfigs",
                "parameters": [
                    {
                        "description": "create or change SafetyFactor and ValidFactor for the Channel Margin app.",
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/ConfigurationAttributesRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration settings of Performance Gauge is changed",
                        "schema": {
                            "$ref": "#/definitions/ConfigurationAttributesRO"
                        }
                    },
                    "400": {
                        "description": "Invalid configuration settings",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/fiberloss": {
            "get": {
                "description": "<p>LATEST VERSION: V3<p>Get list of fibers and their losses",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fiberloss"
                ],
                "summary": "List of fibers and their losses",
                "operationId": "getFiberLoss",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Offset for the second page",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "30",
                        "description": "The size of a returned page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of fiber losses",
                        "schema": {
                            "$ref": "#/definitions/FiberList"
                        }
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/fiberloss/{freid}": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Get specified fiber and its losses",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fiberloss"
                ],
                "summary": "Get specified fiber and its losses",
                "operationId": "getFiberidLoss",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Fiber identifier to be retrieved",
                        "name": "freid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Found requested fiber",
                        "schema": {
                            "$ref": "#/definitions/FiberLoss"
                        }
                    },
                    "404": {
                        "description": "freid not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            },
            "patch": {
                "description": "<p>LATEST VERSION: V1<p>Patch fiber planned loss",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fiberloss"
                ],
                "summary": "Patch fiber planned loss",
                "operationId": "patchFiberidLoss",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Fiber identifier to be updated",
                        "name": "freid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Fiber Data to Update",
                        "name": "fiberData",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/FiberData"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated planned fiber loss"
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "freid not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/marginsummary": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Dashboard API for channel margin",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapi"
                ],
                "summary": "Dashboard API binning all OTSi services according to line rate and margin status",
                "operationId": "getMarginSummary",
                "parameters": [
                    {
                        "type": "string",
                        "description": "(Optional) List of comma separated resource Partition IDs",
                        "name": "resourcePartitionIDs",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Channel Margin Summary",
                        "schema": {
                            "$ref": "#/definitions/MarginSummary"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "500": {
                        "description": "Retrieval of Channel Margin Summary failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/photonicdata/mediaparams": {
            "get": {
                "description": "<p>LATEST VERSION: V1<p>Get list of photonic services and their measured values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ppgapi"
                ],
                "summary": "Get the chromatic dispersion, latency and distance for the section(s)",
                "operationId": "getPhotonicMediaParams",
                "parameters": [
                    {
                        "type": "string",
                        "description": "List of comma srparated FRE IDs of the span/section",
                        "name": "freID(s)",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Offset for the second page",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "30",
                        "description": "The size of a returned page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation List of photonic data",
                        "schema": {
                            "$ref": "#/definitions/ppgMediaParamsList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "Unable to retrieve specified photonic service data"
                    },
                    "500": {
                        "description": "Retrieval of photonic data failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/photonicdata/snrdetails": {
            "get": {
                "description": "<p>LATEST VERSION: V1<p>Get list of photonic services and their measured values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ppgapi"
                ],
                "summary": "Get the photonic sections and their measured values",
                "operationId": "getPhotonicMarginData",
                "parameters": [
                    {
                        "type": "string",
                        "description": "the FRE ID of the span/section",
                        "name": "freid",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "all",
                            "max",
                            "min",
                            "mean"
                        ],
                        "type": "string",
                        "description": "type of SNR",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "SNR total [dB]",
                            "SNR ASE [dB]",
                            "SNR NLI [dB]",
                            "NSR total [mw/mW]",
                            "NSR ASE [mw/mW]",
                            "NSR NLI [mw/mW]"
                        ],
                        "type": "string",
                        "description": "units of SNR",
                        "name": "units",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "current",
                            "full"
                        ],
                        "type": "string",
                        "description": "Fill Ratio",
                        "name": "fill ratio",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation List of photonic data",
                        "schema": {
                            "$ref": "#/definitions/ppgSnrDetailsList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "Unable to retrieve specified photonic service data"
                    },
                    "500": {
                        "description": "Retrieval of photonic data failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/photonicdata/snrsummary": {
            "get": {
                "description": "<p>LATEST VERSION: V1<p>Get summary of photonic services and their measured values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ppgapi"
                ],
                "summary": "Get summary of all photonic sections and their measured values",
                "operationId": "getPhotonicSummaryData",
                "parameters": [
                    {
                        "type": "string",
                        "description": "(Optional) List of comma separated resource Partition IDs",
                        "name": "resourcePartitionIDs",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation summary of photonic data",
                        "schema": {
                            "$ref": "#/definitions/PpgMarginSummary"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "500": {
                        "description": "Retrieval of photonic data failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/channelmargin": {
            "get": {
                "description": "Get list of services and their margins",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV1"
                ],
                "summary": "Get list of OTU services and their margins",
                "operationId": "get-chanmarg",
                "deprecated": true,
                "responses": {
                    "200": {
                        "description": "Whatever we tried worked",
                        "schema": {
                            "$ref": "#/definitions/ChanListV1"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/channelmargin/{freid}/{dir}": {
            "get": {
                "description": "Get detailed channel margin data for a specific servicep",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV1"
                ],
                "summary": "Get detailed channel margin data for a specific service",
                "operationId": "get-chanidmarg",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "string",
                        "name": "freid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "name": "dir",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Found requested service",
                        "schema": {
                            "$ref": "#/definitions/MarginDetailsV1"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "freid not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/fiberloss/{freid}": {
            "get": {
                "description": "Get specified fiber and its losses",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fiberlossV1"
                ],
                "summary": "Get specified fiber and its losses",
                "operationId": "get-fiberidloss",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "string",
                        "name": "freid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Found requested fiber",
                        "schema": {
                            "$ref": "#/definitions/FiberLossv1"
                        }
                    },
                    "404": {
                        "description": "freid not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            },
            "patch": {
                "description": "Patch fiber planned loss",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fiberlossV1"
                ],
                "summary": "Patch fiber planned loss",
                "operationId": "patch-fiberidloss",
                "parameters": [
                    {
                        "type": "string",
                        "name": "freid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Fiber Data to Update",
                        "name": "fiberData",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/FiberData"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Updated planned fiber loss"
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "freid not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/marginsummary": {
            "get": {
                "description": "<p>VERSION: V1<p>Dashboard API for channel margin",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV1"
                ],
                "summary": "Dashboard API binning all OTSi services according to line rate and margin status",
                "operationId": "getMarginSummaryV1",
                "deprecated": true,
                "responses": {
                    "200": {
                        "description": "Channel Margin Summary",
                        "schema": {
                            "$ref": "#/definitions/MarginSummary"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "500": {
                        "description": "Retrieval of Channel Margin Summary failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/photonicdata/mediaparams": {
            "get": {
                "description": "<p>LATEST VERSION: V1<p>Get list of photonic services and their measured values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ppgapiV1"
                ],
                "summary": "Get the chromatic dispersion, latency and distance for the section(s)",
                "operationId": "getPhotonicMediaParamsV1",
                "parameters": [
                    {
                        "type": "string",
                        "description": "List of comma srparated FRE IDs of the span/section",
                        "name": "freID(s)",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Offset for the second page",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "30",
                        "description": "The size of a returned page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation List of photonic data",
                        "schema": {
                            "$ref": "#/definitions/ppgMediaParamsList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "Unable to retrieve specified photonic service data"
                    },
                    "500": {
                        "description": "Retrieval of photonic data failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/photonicdata/snrdetails": {
            "get": {
                "description": "<p>LATEST VERSION: V1<p>Get list of photonic services and their measured values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ppgapiV1"
                ],
                "summary": "Get the photonic sections and their measured values",
                "operationId": "getPhotonicMarginDataV1",
                "parameters": [
                    {
                        "type": "string",
                        "description": "the FRE ID of the span/section",
                        "name": "freid",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "all",
                            "max",
                            "min",
                            "mean"
                        ],
                        "type": "string",
                        "description": "type of SNR",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "SNR total [dB]",
                            "SNR ASE [dB]",
                            "SNR NLI [dB]",
                            "NSR total [mw/mW]",
                            "NSR ASE [mw/mW]",
                            "NSR NLI [mw/mW]"
                        ],
                        "type": "string",
                        "description": "units of SNR",
                        "name": "units",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "current",
                            "full"
                        ],
                        "type": "string",
                        "description": "Fill Ratio",
                        "name": "fill ratio",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation List of photonic data",
                        "schema": {
                            "$ref": "#/definitions/ppgSnrDetailsList"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "Unable to retrieve specified photonic service data"
                    },
                    "500": {
                        "description": "Retrieval of photonic data failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/photonicdata/snrsummary": {
            "get": {
                "description": "<p>LATEST VERSION: V1<p>Get summary of photonic services and their measured values",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "ppgapiV1"
                ],
                "summary": "Get summary of all photonic sections and their measured values",
                "operationId": "getPhotonicSummaryDataV1",
                "parameters": [
                    {
                        "type": "string",
                        "description": "(Optional) List of comma separated resource Partition IDs",
                        "name": "resourcePartitionIDs",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation summary of photonic data",
                        "schema": {
                            "$ref": "#/definitions/PpgMarginSummary"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "500": {
                        "description": "Retrieval of photonic data failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/resetchannelmargin": {
            "put": {
                "description": "<p>Resets the channel margin data for the given freid. If no fre id is provided, resets the channel margin data for all.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resetchannelmarginV1"
                ],
                "summary": "Reset Channel Margin data for the given freid",
                "operationId": "resetchannelmargindata",
                "parameters": [
                    {
                        "type": "string",
                        "description": "(Optional) Reset the Channel Margin data for the given freid",
                        "name": "freid",
                        "in": "query"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful reset of data"
                    },
                    "404": {
                        "description": "freid not found"
                    },
                    "500": {
                        "description": "Reset of channel margin data failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/resetppgdata": {
            "put": {
                "description": "<p>Resets the photonic performance data for the given freid. If no fre id is provided, resets the photonic performance guage data for all.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "resetppgdataV1"
                ],
                "summary": "Reset Photonic performance guage data for the given freid",
                "operationId": "resetppgdata",
                "parameters": [
                    {
                        "type": "string",
                        "description": "(Optional) Reset Photonic performance guage data for the given freid",
                        "name": "freid",
                        "in": "query"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful reset of data"
                    },
                    "404": {
                        "description": "freid not found"
                    },
                    "500": {
                        "description": "Reset of Photonic performance guage data failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/safety": {
            "get": {
                "description": "How much greater than upgrade does minmargin need to be in order for it to be flagged as upgradeable - in dB",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV1"
                ],
                "summary": "How much greater than upgrade does minmargin need to be in order for it to be flagged as upgradeable - in dB",
                "operationId": "get-safety",
                "responses": {
                    "200": {
                        "description": "Safety factor has been gotten",
                        "schema": {
                            "$ref": "#/definitions/Safety"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/safety/{factor}": {
            "put": {
                "description": "How much greater than upgrade does minmargin need to be in order for it to be flagged as upgradeable - in dB",
                "consumes": [
                    "application/octet-stream"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV1"
                ],
                "summary": "How much greater than upgrade does minmargin need to be in order for it to be flagged as upgradeable - in dB",
                "operationId": "put-safety",
                "parameters": [
                    {
                        "maximum": 10,
                        "type": "number",
                        "format": "float",
                        "description": "Safety Factor",
                        "name": "factor",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Safety factor has been set"
                    },
                    "400": {
                        "description": "Safety factor must be a floating point number from 0.0 to 10.0",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/validity": {
            "get": {
                "description": "How many 15 minute PM bins are required before a margin calculation is considered valid",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV1"
                ],
                "summary": "How many 15 minute PM bins are required before a margin calculation is considered valid",
                "operationId": "get-validity",
                "responses": {
                    "200": {
                        "description": "Validity factor has been gotten",
                        "schema": {
                            "$ref": "#/definitions/Validity"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v1/validity/{factor}": {
            "put": {
                "description": "How many 15 minute PM bins are required before a margin calculation is considered valid",
                "consumes": [
                    "application/octet-stream"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV1"
                ],
                "summary": "How many 15 minute PM bins are required before a margin calculation is considered valid",
                "operationId": "put-validity",
                "parameters": [
                    {
                        "maximum": 35040,
                        "minimum": 1,
                        "type": "integer",
                        "format": "int32",
                        "description": "Validity Factor",
                        "name": "factor",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Validity factor has been set"
                    },
                    "400": {
                        "description": "Validity factor must be an integer number from 1 to 35040",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v2/channelmargins": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Get list of services and their margins",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV2"
                ],
                "summary": "Get all OTSi services and their margins",
                "operationId": "getChanMarginsV2",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Offset for the second page",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "30",
                        "description": "The size of a returned page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of Channel Margins",
                        "schema": {
                            "$ref": "#/definitions/ChanList"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "500": {
                        "description": "Retrieval of Channel Margins failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v2/channelmargins/{freid}": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Get detailed channel margin data for a specific service",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV2"
                ],
                "summary": "Get detailed channel margin data for a specific service",
                "operationId": "getChanMarginV2",
                "parameters": [
                    {
                        "type": "string",
                        "description": "identifier of OTSi service to be retrieved",
                        "name": "freid",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "Tx",
                            "Rx"
                        ],
                        "type": "string",
                        "description": "Tx or Rx termination end of the OTSi service. The allowed values are: Tx, Rx",
                        "name": "dir",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/MarginDetailsRO"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "404": {
                        "description": "Unable to retrieve specified OTSi service and its margin"
                    },
                    "500": {
                        "description": "Retrieval failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v2/configs": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Get list of configuration settings that Performance Gauge uses",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV2"
                ],
                "summary": "Get the configuration settings of Performance Gauge",
                "operationId": "getConfigsV2",
                "responses": {
                    "200": {
                        "description": "List of configuration settings",
                        "schema": {
                            "$ref": "#/definitions/ConfigurationAttributesRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval of Configurations failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            },
            "post": {
                "description": "<p>LATEST VERSION: V2<p>Modify one or more configuration settings of Performance Gauge",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV2"
                ],
                "summary": "Create or change the configuration settings of Performance Gauge",
                "operationId": "postConfigsV2",
                "parameters": [
                    {
                        "description": "create or change SafetyFactor and ValidFactor for the Channel Margin app.",
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/ConfigurationAttributesRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Configuration settings of Performance Gauge is changed",
                        "schema": {
                            "$ref": "#/definitions/ConfigurationAttributesRO"
                        }
                    },
                    "400": {
                        "description": "Invalid configuration settings",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v2/fiberloss": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Get list of fibers and their losses",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fiberlossV2"
                ],
                "summary": "List of fibers and their losses",
                "operationId": "getFiberLossV2",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "string",
                        "description": "Offset for the second page",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "30",
                        "description": "The size of a returned page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of fiber losses",
                        "schema": {
                            "$ref": "#/definitions/FiberListv1"
                        }
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v2/fiberloss/{freid}": {
            "get": {
                "description": "Get specified fiber and its losses",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fiberlossV2"
                ],
                "summary": "Get specified fiber and its losses",
                "operationId": "getFiberidLossV2",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Fiber identifier to be retrieved",
                        "name": "freid",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Found requested fiber",
                        "schema": {
                            "$ref": "#/definitions/FiberLoss"
                        }
                    },
                    "404": {
                        "description": "freid not found"
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v2/marginsummary": {
            "get": {
                "description": "<p>LATEST VERSION: V2<p>Dashboard API for channel margin",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cmgapiV2"
                ],
                "summary": "Dashboard API binning all OTSi services according to line rate and margin status",
                "operationId": "getMarginSummaryV2",
                "parameters": [
                    {
                        "type": "string",
                        "description": "(Optional) List of comma separated resource Partition IDs",
                        "name": "resourcePartitionIDs",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Channel Margin Summary",
                        "schema": {
                            "$ref": "#/definitions/MarginSummary"
                        }
                    },
                    "403": {
                        "description": "API Not Licensed"
                    },
                    "500": {
                        "description": "Retrieval of Channel Margin Summary failed (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/perfg/api/v3/fiberloss": {
            "get": {
                "description": "Get list of fibers and their losses",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fiberlossV3"
                ],
                "summary": "List of fibers and their losses",
                "operationId": "getFiberLossV3",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Offset for the second page",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "default": "30",
                        "description": "The size of a returned page",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of fiber losses",
                        "schema": {
                            "$ref": "#/definitions/FiberList"
                        }
                    },
                    "500": {
                        "description": "Unexpected processing error",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/pm/api/v1/autocomplete/{tag}": {
            "get": {
                "description": "Returns a subset of all possible values for a tag that match a filter string, with an optional max limit",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Auto-Complete"
                ],
                "summary": "Find a subset of possible values for a tag matching a filter",
                "parameters": [
                    {
                        "type": "string",
                        "description": "The tag we are trying to auto-complete",
                        "name": "tag",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "The value being matched against",
                        "name": "filter",
                        "in": "query"
                    },
                    {
                        "type": "number",
                        "default": 50,
                        "description": "The maximum number of values",
                        "name": "limit",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns all the possible tag values that match the filter",
                        "schema": {
                            "$ref": "#/definitions/autoCompleteResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Auto-complete is not supported for the specified tag",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v1/changeftpcredentials": {
            "post": {
                "description": "Change SFTP credentials for 6500 PM file transfer",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "summary": "Change SFTP credentials for 6500 PM file transfer",
                "parameters": [
                    {
                        "type": "string",
                        "name": "username",
                        "in": "formData"
                    },
                    {
                        "type": "string",
                        "name": "password",
                        "in": "formData"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/pm/api/v1/facilities": {
            "post": {
                "description": "Interactions with facilities such as INIT-REG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Facilities"
                ],
                "summary": "Facility interactions",
                "operationId": "initReg",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/initRegisterRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/initRegisterResponse"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    }
                }
            }
        },
        "/pm/api/v1/locations": {
            "get": {
                "description": "Returns all possible location fields that can be used to search for historical performance metrics",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Locations"
                ],
                "summary": "Get all possible location fields for performance metrics",
                "responses": {
                    "200": {
                        "description": "Returns all the searchable location fields",
                        "schema": {
                            "$ref": "#/definitions/locationsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v1/queries": {
            "post": {
                "description": "Retrieves real-time performance metrics. Multiple measurement points can be defined. All measurement points are queried concurrently. This call blocks until all results are returned or times out. In case of a timeout of individual measurement point queries, all successful queries are still returned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Real-Time"
                ],
                "summary": "Retrieves real-time metrics from network element",
                "operationId": "getRPM",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/rpmRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Returns the metrics collected from each measurement point or an error if metrics collection failed for a given measurement point",
                        "schema": {
                            "$ref": "#/definitions/queryResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request format",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "404": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "408": {
                        "description": "Time-out. None of the defined measurement points could be retrieved in time",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "504": {
                        "description": "The NE for the RPM request is LOA",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    }
                }
            }
        },
        "/pm/api/v1/query/metrics": {
            "post": {
                "description": "Retrieves historical performance metrics. Callers can choose an absolute or relative time frame and filter the results based on multiple criteria",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historical_v1"
                ],
                "summary": "Retrieves historical performance metrics from heroic",
                "operationId": "getHPM",
                "deprecated": true,
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/hpmRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Returns all metrics available for the provided time frame that match the specified criteria",
                        "schema": {
                            "$ref": "#/definitions/queryResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request format",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "500": {
                        "description": "Heroic did not respond as expected",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    }
                }
            }
        },
        "/pm/api/v1/query/metrics/correlated": {
            "post": {
                "description": "Retrieves historical performance metrics correlated by facility (used for SDMON, CHMON and OPM queries only). Callers can choose an absolute or relative time frame and filter the results based on either a map of network elements to lists of facilities, or a list of network elements.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Correlated_v1"
                ],
                "summary": "Retrieves historical performance metrics correlated by facility (used for SDMON, CHMON and OPM queries only)",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/correlatedRequestV1"
                        }
                    },
                    {
                        "enum": [
                            "ms",
                            "rfc3339"
                        ],
                        "type": "string",
                        "default": "rfc3339",
                        "description": "Determines format of timestamp in response. Either milliseconds or RFC3339 formatted timestamp.",
                        "name": "ts",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Unix timestamp representing the absolute start time of the query. Used for paging through results. A user triggered request must specify a RFC3339 formatted 'startTime' in the request body. If both are defined, the URL parameter takes precedence.",
                        "name": "start",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Unix timestamp representing the absolute end time of the query. Used for paging through results. A user triggered request must specify a RFC3339 formatted 'endTime' in the request body. If both are defined, the URL parameter takes precedence.",
                        "name": "end",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Starting point for the returned page.",
                        "name": "cursor",
                        "in": "query"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Returns all metrics available for the provided time frame that match the specified criteria, correlated by facility",
                        "schema": {
                            "$ref": "#/definitions/correlatedResponseV1"
                        }
                    },
                    "400": {
                        "description": "Bad Request format",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v1/query/metrics/rollupCalculation": {
            "post": {
                "description": "Search and filter historical performance metrics, do rollup calculation using the 15 minutes bin based on the start and end time.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "RollupCalculation_v1"
                ],
                "summary": "Search and filter historical performance metrics, do rollup calculation using the 15 minutes bin based on the start and end time.",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/rollupCalcRequestV1"
                        }
                    },
                    {
                        "enum": [
                            "ThroughputWithOctets",
                            "ThroughputWithOctetsAndFrames"
                        ],
                        "type": "string",
                        "default": "ThroughputWithOctets",
                        "description": "Type of rollup calculation",
                        "name": "calculation",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "1_Day",
                            "7_Days"
                        ],
                        "type": "string",
                        "default": "1_Day",
                        "description": "Calculation granularity",
                        "name": "granularity",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Returns the calculated rollup result for the provided time frame that match the specified criteria",
                        "schema": {
                            "$ref": "#/definitions/rollupCalcResponseV1"
                        }
                    },
                    "400": {
                        "description": "Bad Request format",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v2/collections": {
            "patch": {
                "description": "Bulk update collection configuration for multiple network elements. Network elements can be specified by name or type",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v2"
                ],
                "summary": "Bulk update collection configuration for multiple network elements",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/collectionsBulkRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful update"
                    },
                    "207": {
                        "description": "Partial success",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v2/collections/networkelements/intervals/{type}": {
            "get": {
                "description": "Get the polling interval(s) of the 15 minute or 24 hour bin for all network elements of given type",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v2"
                ],
                "summary": "Get the polling interval(s) of the 15 minute or 24 hour bin for all network elements of given type",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Type (e.g: 6500)",
                        "name": "type",
                        "in": "path",
                        "required": true
                    },
                    {
                        "enum": [
                            "15_MINUTES",
                            "24_HOURS"
                        ],
                        "type": "string",
                        "default": "15_MINUTES",
                        "description": "The name of the configuration, representing the desired metric bin (i.e. 15_MINUTES or 24_HOURS)",
                        "name": "configuration",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/intervalsGetData"
                        }
                    },
                    "207": {
                        "description": "Partial success",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v2/collections/networkelements/types/{type}": {
            "patch": {
                "description": "Update collection configuration of all network elements of given type",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v2"
                ],
                "summary": "Update collection configuration of all network elements of given type",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Type (i.e: 6500)",
                        "name": "type",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/collectionsPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "207": {
                        "description": "Partial success",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v2/collections/networkelements/{networkElementName}": {
            "get": {
                "description": "Return collection configuration of the given network element, identified by its name",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v2"
                ],
                "summary": "Return collection configuration of the given network element",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Name",
                        "name": "networkElementName",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/collectionsGet"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            },
            "post": {
                "description": "Triggers PM collection for the specified network element",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v2"
                ],
                "summary": "Trigger immediate collection for the specified network element and resolution",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Name",
                        "name": "networkElementName",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "The name of the configuration, representing the desired resolution (15_MINUTES, 24_HOURS)",
                        "name": "configuration",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            },
            "patch": {
                "description": "Update collection configuration of the given network element, identified by its name",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v2"
                ],
                "summary": "Update collection configuration of the given network element",
                "deprecated": true,
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Name",
                        "name": "networkElementName",
                        "in": "path",
                        "required": true
                    },
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/collectionsPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "207": {
                        "description": "Partial success",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v2/query/meta": {
            "post": {
                "description": "Retrieves meta data and contextual aggregations corresponding to the specified criteria",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Meta_v2"
                ],
                "summary": "Retrieves meta data according to the specified criteria",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/metaRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Returns all metrics available for the provided time frame that match the specified criteria",
                        "schema": {
                            "$ref": "#/definitions/metaResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request format",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v2/query/metrics": {
            "post": {
                "description": "Retrieves historical performance metrics. Callers can choose an absolute or relative time frame and filter the results based on multiple criteria",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historical_v2"
                ],
                "summary": "Retrieves historical performance metrics",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/hpmRequestV2"
                        }
                    },
                    {
                        "enum": [
                            "ms",
                            "rfc3339"
                        ],
                        "type": "string",
                        "default": "rfc3339",
                        "description": "Determines format of timestamp in response. Either milliseconds or RFC3339 formatted timestamp.",
                        "name": "ts",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Unix timestamp representing the absolute start time of the query. Used for paging through datapoints. A user triggered request must specify a RFC3339 formatted 'startTime' in the request body. If both are defined, the URL parameter takes precedence.",
                        "name": "start",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Unix timestamp representing the absolute end time of the query. Used for paging through datapoints. A user triggered request must specify a RFC3339 formatted 'endTime' in the request body. If both are defined, the URL parameter takes precedence.",
                        "name": "end",
                        "in": "query"
                    },
                    {
                        "type": "number",
                        "description": "Page number",
                        "name": "page",
                        "in": "query"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Returns all metrics available for the provided time frame that match the specified criteria",
                        "schema": {
                            "$ref": "#/definitions/hpmResponseV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request format",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v2/query/tags": {
            "get": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historical_v2"
                ],
                "summary": "Returns a collection of existing values for the provided tag",
                "parameters": [
                    {
                        "type": "string",
                        "description": "The name of the tag for which a collection of values is returned",
                        "name": "tag",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "A filter for the returned tag values. Any value which CONTAINS the provided search text is returned",
                        "name": "search",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "number",
                        "description": "The maximum number of returned values",
                        "name": "limit",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Returns a limited set of values for the specified tag. If no values are found, an empty array is returned",
                        "schema": {
                            "$ref": "#/definitions/tagResponse"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v3/collections": {
            "get": {
                "description": "Return collection configuration of the given network element, identified by its name",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v3"
                ],
                "summary": "Return collection configuration of the given network element",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Name",
                        "name": "networkElementName",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/collectionsGet"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            },
            "post": {
                "description": "Triggers PM collection for the specified network element",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v3"
                ],
                "summary": "Trigger immediate collection for the specified network element and resolution",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Name",
                        "name": "networkElementName",
                        "in": "query",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "The name of the configuration, representing the desired resolution (15_MINUTES, 24_HOURS)",
                        "name": "configuration",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            },
            "patch": {
                "description": "Update collection configuration of the given network element, identified by its name",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v3"
                ],
                "summary": "Update collection configuration of the given network element",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Name",
                        "name": "networkElementName",
                        "in": "query",
                        "required": true
                    },
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/collectionsPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "207": {
                        "description": "Partial success",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v3/collections/collectioncount": {
            "get": {
                "description": "Get successful and failed/delayed collection detail like NE name, last collection time, number of NEs in LOA state for 15_MINUTES or 24_HOURS bin in given time duration and network element type.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v3"
                ],
                "summary": "Get the collection summary of 15_MINUTES or 24_HOURS bin for given time duration and network element type",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Type (e.g: 6500)",
                        "name": "type",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "15_MINUTES",
                            "24_HOURS"
                        ],
                        "type": "string",
                        "default": "15_MINUTES",
                        "description": "The name of the configuration, representing the desired metric bin (i.e. 15_MINUTES or 24_HOURS)",
                        "name": "configuration",
                        "in": "query",
                        "required": true
                    },
                    {
                        "enum": [
                            "15 MINUTES",
                            "30 MINUTES",
                            "1 HOURS",
                            "2 HOURS",
                            "3 HOURS",
                            "6 HOURS",
                            "24 HOURS",
                            "48 HOURS"
                        ],
                        "type": "string",
                        "default": "15 MINUTES",
                        "description": "The interval for which count need to fetch. For 24_HOURS configuration, only 24 Hour and 48 Hour duration supported",
                        "name": "duration",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/collectionCountGetData"
                        }
                    },
                    "207": {
                        "description": "Partial success",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v3/collections/networkelements/intervals/{type}": {
            "get": {
                "description": "Get the polling interval(s) of the 15 minute or 24 hour bin for all network elements of given type",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v3"
                ],
                "summary": "Get the polling interval(s) of the 15 minute or 24 hour bin for all network elements of given type",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Type (e.g: 6500)",
                        "name": "type",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Network Element Type Group(i.e.: Ciena6500, PN8x, PN6x)",
                        "name": "typegroup",
                        "in": "query"
                    },
                    {
                        "enum": [
                            "15_MINUTES",
                            "24_HOURS"
                        ],
                        "type": "string",
                        "default": "15_MINUTES",
                        "description": "The name of the configuration, representing the desired metric bin (i.e. 15_MINUTES or 24_HOURS)",
                        "name": "configuration",
                        "in": "query",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/intervalsGetData"
                        }
                    },
                    "207": {
                        "description": "Partial success",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v3/collections/networkelements/types/{type}": {
            "patch": {
                "description": "Update collection configuration entries like polling interval or resolution of all network elements of given type",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Collections_v3"
                ],
                "summary": "Update collection configuration of all network elements of given type",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Network Element Type (i.e: 6500)",
                        "name": "type",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Network Element Type Group(i.e.: Ciena6500, PN8x, PN6x)",
                        "name": "typegroup",
                        "in": "query"
                    },
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/collectionsPatch"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "207": {
                        "description": "Partial success",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "404": {
                        "description": "Not found",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "409": {
                        "description": "Conflict. Server constraint violated",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v3/query/metrics": {
            "post": {
                "description": "Retrieves historical performance metrics. Callers can choose an absolute or relative time frame and filter the results based on multiple criteria",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Historical_v3"
                ],
                "summary": "Retrieves historical performance metrics",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/hpmRequestV2"
                        }
                    },
                    {
                        "enum": [
                            "ms",
                            "rfc3339"
                        ],
                        "type": "string",
                        "default": "rfc3339",
                        "description": "Determines format of timestamp in response. Either milliseconds or RFC3339 formatted timestamp.",
                        "name": "ts",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Unix timestamp representing the absolute start time of the query. Used for paging through datapoints. A user triggered request must specify a RFC3339 formatted 'startTime' in the request body. If both are defined, the URL parameter takes precedence.",
                        "name": "start",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Unix timestamp representing the absolute end time of the query. Used for paging through datapoints. A user triggered request must specify a RFC3339 formatted 'endTime' in the request body. If both are defined, the URL parameter takes precedence.",
                        "name": "end",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Starting point for returned page",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Search backwards from the cursor, instead of forwards",
                        "name": "backwards",
                        "in": "query"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Returns all metrics available for the provided time frame that match the specified criteria",
                        "schema": {
                            "$ref": "#/definitions/hpmResponseV3"
                        }
                    },
                    "400": {
                        "description": "Bad Request format",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pm/api/v1/query/ossMetrics": {
            "post": {
                "description": "Retrieves historical performance metrics for oss system. Callers can choose an absolute or relative time frame and filter the results based on multiple criteria",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "OssQuery_v1"
                ],
                "summary": "Retrieves historical performance metrics for oss system",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/hpmRequestV2"
                        }
                    },
                    {
                        "enum": [
                            "ms",
                            "rfc3339"
                        ],
                        "type": "string",
                        "default": "rfc3339",
                        "description": "Determines format of timestamp in response. Either milliseconds or RFC3339 formatted timestamp.",
                        "name": "ts",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Unix timestamp representing the absolute start time of the query. Used for paging through datapoints. A user triggered request must specify a RFC3339 formatted 'startTime' in the request body. If both are defined, the URL parameter takes precedence.",
                        "name": "start",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Unix timestamp representing the absolute end time of the query. Used for paging through datapoints. A user triggered request must specify a RFC3339 formatted 'endTime' in the request body. If both are defined, the URL parameter takes precedence.",
                        "name": "end",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Starting point for returned page",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Search backwards from the cursor, instead of forwards",
                        "name": "backwards",
                        "in": "query"
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Returns all metrics available for the provided time frame that match the specified criteria",
                        "schema": {
                            "$ref": "#/definitions/hpmResponseV3"
                        }
                    },
                    "400": {
                        "description": "Bad Request format",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    },
                    "429": {
                        "description": "The max concurrent requests limit has been reached.",
                        "schema": {
                            "$ref": "#/definitions/pmError"
                        }
                    },
                    "500": {
                        "description": "Unexpected error",
                        "schema": {
                            "$ref": "#/definitions/pmErrorV2"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/activetraces": {
            "get": {
                "tags": [
                    "pinpointapiv1activetraces"
                ],
                "summary": "Retrieve all the active otdr traces",
                "description": "",
                "operationId": "getAllTraces",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of active traces.",
                        "schema": {
                            "$ref": "#/definitions/ActiveTraceListRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval of active traces failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/fiberpaths": {
            "get": {
                "tags": [
                    "pinpointapiv1fiberpaths"
                ],
                "summary": "Get list of all fiberpaths",
                "description": "",
                "operationId": "get",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) Type of resource to be side-loaded. The allowed value is links",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of all fiberpaths.",
                        "schema": {
                            "$ref": "#/definitions/FiberPathListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of fiberpath data failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "pinpointapiv1fiberpaths"
                ],
                "summary": "Create a fiberpath",
                "description": "Upon success, code 201 is returned and the output consists of JSON objects representing the identifier of a created fiberpath.<p>Here is a sample request body:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\" : {\n         \"type\": \"fiberpath\",\n         \"attributes\": {\n            \"name\": \"test\",\n            \"items\": [\n                {\n                    \"id\": \"0d37c949-382d-4f30-8637-828869fb4164\",\n                    \"type\": \"placemark\"\n                },\n                {\n                    \"id\": \"0d37c949-382d-4f30-8637-828869fb4164\",\n                    \"type\": \"placemark\",\n                    \"start-lag\": 10,\n                    \"end-lag\": 10\n                },\n                {\n                    \"id\": \"0d37c949-382d-4f30-8637-828869fb4164\"\n                    \"type\": \"placemark\"\n                }\n            ]\n        }\n    }\n}\n</code></pre><p>LATEST VERSION: V1",
                "operationId": "post",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Fiberpath to be created",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FiberPathRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/FiberPathRO"
                        }
                    },
                    "201": {
                        "description": "Fiberpath created successfully.",
                        "schema": {
                            "$ref": "#/definitions/FiberPathRO"
                        }
                    },
                    "400": {
                        "description": "Input validation error. Invalid value specified for parameters.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create fiberpath, internal server error.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/fiberpaths/{id}": {
            "get": {
                "tags": [
                    "pinpointapiv1fiberpaths"
                ],
                "summary": "Retrieve a fiberpath with a given identifier",
                "description": "",
                "operationId": "getById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the fiberpath data to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved fiberpath data successfully.",
                        "schema": {
                            "$ref": "#/definitions/FiberPathRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified fiberpath data",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "pinpointapiv1fiberpaths"
                ],
                "summary": "Deletes fiberpath by the given identifier",
                "description": "",
                "operationId": "delete",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of fiberpath to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The specified fiberpath deleted successfully."
                    },
                    "404": {
                        "description": "The specified fiberpath does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete specified fiberpath.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/fiberpaths/{id}/links": {
            "get": {
                "tags": [
                    "pinpointapiv1fiberpaths"
                ],
                "summary": "Retrieve the links associated with the given fiberpath identifier",
                "description": "",
                "operationId": "getLinks",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the fiberpath for which link is to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved links data successfully.",
                        "schema": {
                            "$ref": "#/definitions/LinkListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to retrieve the links",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the links of the given fiberpath data",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/fiberpaths/{id}/startNode/{ncid}/distances": {
            "post": {
                "tags": [
                    "pinpointapiv1fiberpaths"
                ],
                "summary": "Retrieve list of coordinates for distances on fiberpath",
                "description": "",
                "operationId": "getCoordinatesOfDistances",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the fiberpath",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "ncid",
                        "in": "path",
                        "description": "Identifier of the start node from where trace is run",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to get the geo coordinates of the input distances. All input distances are in meters",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/DistanceCoordinateListRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved coordinates successfully.",
                        "schema": {
                            "$ref": "#/definitions/DistanceCoordinateListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the coordinates of specified distance on fiberpath",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/kml/files": {
            "get": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Get info of all the uploaded kml files",
                "description": "",
                "operationId": "getAllKmlFiles",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of kml elements.",
                        "schema": {
                            "$ref": "#/definitions/KmlFileListRO"
                        }
                    },
                    "500": {
                        "description": "Retrieval of kml file failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/kml/files/{id}": {
            "delete": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Deletes all the file elements",
                "description": "",
                "operationId": "deleteByFileId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Kml file id to be deleted",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted file and all kml elements successfully."
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified file id does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete kml elements.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/kml/files/{id}/placemarks": {
            "get": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Get all placemarks of the given file identifier",
                "description": "",
                "operationId": "getPlacemarksByFileId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the kml file",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved kml data successfully.",
                        "schema": {
                            "$ref": "#/definitions/PlacemarkListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified kml data",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/kml/placemarks": {
            "get": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Get list of the kml elements",
                "description": "",
                "operationId": "get",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ids",
                        "in": "query",
                        "description": "(Optional) Comma separated list of kml elements identifiers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for current index of data to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of kml elements.",
                        "schema": {
                            "$ref": "#/definitions/PlacemarkListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of kml data failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/kml/placemarks/{id}": {
            "get": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Retrieve a kml element with the given identifier",
                "description": "",
                "operationId": "getById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the kml data to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded.The allowed values are: fiberpaths, ne, waypoint, spool",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved kml data successfully.",
                        "schema": {
                            "$ref": "#/definitions/PlacemarkRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified kml data",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Updates kml attributes",
                "description": "Upon success, code 200 is returned and the output consists of JSON objects representing the updated kml element.<p>Here is a sample request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\" : {\n        \"id\": \"0d37c949-382d-4f30-8637-828869fb4164\",\n         \"type\": \"placemark\",\n         \"attributes\": {\n             \"name\": \"test\",\n             \"description\": \"desc to be updated\",\n             \"style\": {\n                 \"color\": \"#0000ff\",\n                 \"width\": 5\n              }\n        }\n    }\n}\n</code></pre><p>LATEST VERSION: V1",
                "operationId": "put",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the kml data to be updated.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Updated kml element.",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PlacemarkRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Kml element has been updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/PlacemarkRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input invalid.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update kml placemark.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Deletes the specific kml element and all its association if any",
                "description": "",
                "operationId": "delete",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of kml element to be deleted",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted placemark successfully."
                    },
                    "404": {
                        "description": "The specified placemark does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete specified placemark.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/kml/placemarks/{id}/ne": {
            "put": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Associates the kml element with the managed element",
                "description": "Upon success, code 204 is returned<p>Here is a sample request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\" : {\n        \"id\": \"0d37c949-382d-4f30-8637-828869fb4164\",\n         \"type\": \"placemark\",\n         \"relationships\": {\n              \"ne\": {\n                   \"data\": {\n                        \"type\": \"ne\",\n                        \"id\": \"1\"\n                 }\n             }\n        }\n    }\n}\n</code></pre><p>LATEST VERSION: V1",
                "operationId": "associateNe",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Kml element identifier.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Kml element data with ne relationship",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PlacemarkRO"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Relationship created between kml element and managed element successfully."
                    },
                    "400": {
                        "description": "Invalid input data to create association.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create association",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/kml/placemarks/{id}/{resource_type}/{related_id}": {
            "delete": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Deletes association given the kml element and related idenitifer",
                "description": "",
                "operationId": "deleteAssociation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of placemark to be unassociated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "resource_type",
                        "in": "path",
                        "description": "Resource type with which placemark is to be unassociated. The allowed values are: ne, waypoint, spool",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "related_id",
                        "in": "path",
                        "description": "Identifier of related entity to be unassociated",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted association successfully."
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete specified association.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/kml/upload": {
            "post": {
                "tags": [
                    "pinpointapiv1kml"
                ],
                "summary": "Uploads the kml file",
                "description": "",
                "operationId": "uploadFile",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "file",
                        "in": "formData",
                        "description": "The input stream of the kml file to be uploaded.",
                        "required": true,
                        "type": "file"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Upload of kml was successful!"
                    },
                    "400": {
                        "description": "Bad request. Invalid input file extension.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Upload failed, internal server error.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/nes": {
            "get": {
                "tags": [
                    "pinpointapiv1nes"
                ],
                "summary": "Get list of unassociated network elements",
                "description": "",
                "operationId": "getAllUnassociatedNes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "lat",
                        "in": "query",
                        "description": "(Optional) Latitude of center point",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "long",
                        "in": "query",
                        "description": "(Optional) Longitude of center point",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "distance",
                        "in": "query",
                        "description": "(Optional) Radius in meter to search for",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for the next page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of network elements data.",
                        "schema": {
                            "$ref": "#/definitions/NetworkElementListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of network elements data failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/nes/{ncid}/otdr/{aid}": {
            "get": {
                "tags": [
                    "pinpointapiv1nes"
                ],
                "summary": "Retrieve otdr facility config data with the given network element ncid and facility aid",
                "description": "",
                "operationId": "getOtdrConfigDataById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncid",
                        "in": "path",
                        "description": "Network construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "aid",
                        "in": "path",
                        "description": "Otdr facility identifier for which config to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved otdr config data successfully.",
                        "schema": {
                            "$ref": "#/definitions/OtdrRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the otdr config data",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/nes/{ncid}/otdr/{aid}/setbaseline": {
            "post": {
                "tags": [
                    "pinpointapiv1nes"
                ],
                "summary": "Set the current trace to baseline",
                "description": "Upon success, code 204 is returned with no content in the output.<p>Here is a sample request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\" : {\n         \"type\": \"sor\",\n         \"attributes\": {\n           \"aid\": \"OTDRCFG-1-1-8\",\n           \"traceType\": \"Short\"\n        }\n    }\n}\n</code></pre><p>LATEST VERSION: V1",
                "operationId": "setBaseline",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncid",
                        "in": "path",
                        "description": "Network construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "aid",
                        "in": "path",
                        "description": "Otdr facility identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Sor data to be set as baseline",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/SorRO"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Current trace set to baseline successfully."
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to set the current trace to baseline on specified otdr facility",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/nes/{ncid}/otdr/{aid}/sorfiles": {
            "get": {
                "tags": [
                    "pinpointapiv1nes"
                ],
                "summary": "Retrieve the sor files associated with the given network element and otdr aid identifier",
                "description": "",
                "operationId": "getSorFiles",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncid",
                        "in": "path",
                        "description": "Network construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "aid",
                        "in": "path",
                        "description": "Otdr facility identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "traceType",
                        "in": "query",
                        "description": "(Optional) Trace-type for sor listing",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved sor files data successfully.",
                        "schema": {
                            "$ref": "#/definitions/SorListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the sor files of the given network element and otdrcfg aid identifier",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/nes/{ncid}/otdr/{aid}/starttrace": {
            "post": {
                "tags": [
                    "pinpointapiv1nes"
                ],
                "summary": "Edit the OTDR facility config parameters and start trace",
                "description": "Upon success, code 204 is returned with no content in the output.<p>Here is a sample request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\" : {\n        \"id\": \"OTDRCFG-1-1-8\",\n         \"type\": \"otdr\",\n         \"attributes\": {\n             \"maximum-acquisition-time-sec\": 67,\n             \"short-pulse-nsec\": \"1000\",\n             \"short-distance-mtr\": \"20000\",\n             \"long-pulse-nsec\": \"10000\",\n             \"long-distance-mtr\": \"640000\",\n             \"office-pulse-nsec\": \"100\",\n             \"office-distance-mtr\": \"8000\",\n             \"event-range-mtr\": 100,\n             \"trace-type\": \"long\"\n        }\n    }\n}\n</code></pre><p>LATEST VERSION: V1",
                "operationId": "startTrace",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncid",
                        "in": "path",
                        "description": "Network construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "aid",
                        "in": "path",
                        "description": "Otdr facility identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Otdr config data",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/OtdrRO"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Trace edit/started successfully."
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to edit/start the trace on specified otdr facility",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/nes/{ncid}/otdr/{aid}/stoptrace": {
            "post": {
                "tags": [
                    "pinpointapiv1nes"
                ],
                "summary": "Stop the already running OTDR trace",
                "description": "",
                "operationId": "stopTrace",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncid",
                        "in": "path",
                        "description": "Network construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "aid",
                        "in": "path",
                        "description": "Otdr facility identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Trace stopped successfully."
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to stop the trace on specified otdr facility",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/nes/{ncid}/otdr/{aid}/tracestatus": {
            "get": {
                "tags": [
                    "pinpointapiv1nes"
                ],
                "summary": "Retrieve the active trace",
                "description": "",
                "operationId": "getTraceStatus",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncid",
                        "in": "path",
                        "description": "Network construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "aid",
                        "in": "path",
                        "description": "Otdr facility identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved trace status data successfully.",
                        "schema": {
                            "$ref": "#/definitions/ActiveTraceRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the trace status of the given network element ncid and otdr facility identifier",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/others/{type}": {
            "post": {
                "tags": [
                    "pinpointapiv1others"
                ],
                "summary": "Creates a spool or waypoint and associates with kml element",
                "description": "Upon success, code 201 is returned and the output consists of JSON objects representing the identifier of a created spool or waypoint.<p>Here is a sample request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"data\" : {\n         \"type\": \"spool or waypoint\",\n         \"attributes\": {\n             \"label\": \"test\",\n              \"length\": 100\n        },\n          \"relationships\": {\n              \"placemark\":  {\n                  \"data\":{\n                      \"type\": \"placemark\",\n                      \"id\":\"11\"\n                  }\n              }\n         }\n    }\n}\n</code></pre><p>LATEST VERSION: V1",
                "operationId": "post",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "type",
                        "in": "path",
                        "description": "Type of entity to be created. The allowed values are: spool or waypoint",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Spool/Waypoint to be created",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/SpoolWaypointRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/SpoolWaypointRO"
                        }
                    },
                    "201": {
                        "description": "Spool/Waypoint created successfully.",
                        "schema": {
                            "$ref": "#/definitions/SpoolWaypointRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input data.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create, internal server error.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/pinpoint/api/v1/sor/{id}": {
            "get": {
                "tags": [
                    "pinpointapiv1sor"
                ],
                "summary": "Retrieve a sor trace with the given identifier",
                "description": "",
                "operationId": "getById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the sor trace to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Retrieved sor trace data successfully.",
                        "schema": {
                            "$ref": "#/definitions/SorRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid input.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified data does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the specified sor trace data",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/planningnetworkexport/api/v1/Networks/TpeFre": {
            "get": {
                "tags": [
                    "Networks"
                ],
                "summary": "Download raw tpe fre data as .mcpc file",
                "parameters": [
                    {
                        "in": "query",
                        "name": "captureTimeOutInMins",
                        "type": "integer",
                        "format": "int32",
                        "default": 30
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    }
                }
            }
        },
        "/pmprocessor/api/v1/calculationcontexts": {
            "get": {
                "description": "Queries active CalculationContext instances for debugging purposes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Derived Metrics"
                ],
                "summary": "Queries active CalculationContext instances",
                "operationId": "queryCalculationContext",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Only return CalculationContext instances, associated with the given root FRE ID",
                        "name": "rootfreid",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Only return CalculationContext instances, created by the given Calculation",
                        "name": "calculation",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/calculationContexts"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            }
        },
        "/pmprocessor/api/v1/resource_profiles": {
            "get": {
                "description": "Retrieve all resource profiles",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Resource Profiles"
                ],
                "summary": "Retrieve all resource profiles",
                "operationId": "getAllResourceProfiles",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved all resource profiles",
                        "schema": {
                            "$ref": "#/definitions/resourceProfiles"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "put": {
                "description": "Update one or more resource profiles",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Resource Profiles"
                ],
                "summary": "Update resource profile(s)",
                "operationId": "updateResourceProfile",
                "parameters": [
                    {
                        "description": "The new resource profile",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/resourceProfiles"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Resource profile(s) update request accepted with primary validation successful"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "404": {
                        "description": "Threshold group not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "post": {
                "description": "Create a resource profile with one or more resources for association with one or more pre-existing threshold groups",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Resource Profiles"
                ],
                "summary": "Create resource profile for one or more resources",
                "operationId": "createResourceProfile",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/resourceProfiles"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Resource profile create request accepted with primary validation successful",
                        "schema": {
                            "$ref": "#/definitions/resourceProfiles"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "404": {
                        "description": "Threshold group for profile not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "409": {
                        "description": "Resource profile already exists",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            }
        },
        "/pmprocessor/api/v1/resource_profiles/{resourceProfileId}": {
            "get": {
                "description": "Retrieve a specfic resource profile by ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Resource Profiles"
                ],
                "summary": "Retrieve resource profile by ID",
                "operationId": "getResourceProfileById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the resource profile to retrieve",
                        "name": "resourceProfileId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved specified resource profile",
                        "schema": {
                            "$ref": "#/definitions/resourceProfile"
                        }
                    },
                    "404": {
                        "description": "Resource profile not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "put": {
                "description": "Update a specific resource profile by ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Resource Profiles"
                ],
                "summary": "Update a specific resource profile by ID",
                "operationId": "updateResourceProfileById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the resource profile to retrieve",
                        "name": "resourceProfileId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "The new resource profile",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/resourceProfile"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Resource profile update request accepted with primary validation successful"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "404": {
                        "description": "Threshold group not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "409": {
                        "description": "Conflicting IDs",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Resource Profiles"
                ],
                "summary": "Delete a resource profile by ID",
                "operationId": "deleteResourceProfileById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the resource profile to delete",
                        "name": "resourceProfileId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Resource profile delete request accepted with primary validation successful"
                    },
                    "404": {
                        "description": "Resource profile not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            }
        },
        "/pmprocessor/api/v1/threshold_groups": {
            "get": {
                "description": "Retrieve all persisted threshold groups",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Threshold Groups"
                ],
                "summary": "Retrieve all threshold groups",
                "operationId": "getAllThresholdGroups",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved all threshold groups",
                        "schema": {
                            "$ref": "#/definitions/thresholdGroups"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "put": {
                "description": "Update one or more threshold groups",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Threshold Groups"
                ],
                "summary": "Update threshold group(s)",
                "operationId": "updateThresholdGroup",
                "parameters": [
                    {
                        "description": "The new threshold group(s)",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/thresholdGroups"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Threshold group(s) update request accepted with primary validation successful"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "404": {
                        "description": "Threshold group not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "post": {
                "description": "Create a PM threshold group with one or more pre-existing thresholds for association with a resource profile",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Threshold Groups"
                ],
                "summary": "Create threshold group(s) containing one or more pre-existing thresholds",
                "operationId": "createThresholdGroup",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/thresholdGroups"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Threshold group(s) create request accepted with primary validation successful",
                        "schema": {
                            "$ref": "#/definitions/thresholdGroups"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "404": {
                        "description": "Threshold for group not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "409": {
                        "description": "Threshold group already exists",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            }
        },
        "/pmprocessor/api/v1/threshold_groups/{thresholdGroupId}": {
            "get": {
                "description": "Retrieve a specfic threshold group by ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Threshold Groups"
                ],
                "summary": "Retrieve threshold group by ID",
                "operationId": "getThresholdGroupById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the threshold group to retrieve",
                        "name": "thresholdGroupId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved specified threshold group",
                        "schema": {
                            "$ref": "#/definitions/thresholdGroup"
                        }
                    },
                    "404": {
                        "description": "Threshold group not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "put": {
                "description": "Update a specific threshold group by ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Threshold Groups"
                ],
                "summary": "Update threshold group by ID",
                "operationId": "updateThresholdGroupById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the threshold group to retrieve",
                        "name": "thresholdGroupId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "The new threshold group",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/thresholdGroup"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Threshold group update request accepted with primary validation successful"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "404": {
                        "description": "Threshold group not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "409": {
                        "description": "Conflicting IDs",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Threshold Groups"
                ],
                "summary": "Delete a threshold group by ID",
                "operationId": "deleteThresholdGroupById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the threshold group to delete",
                        "name": "thresholdGroupId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Threshold group delete request accepted with primary validation successful"
                    },
                    "404": {
                        "description": "Threshold group not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            }
        },
        "/pmprocessor/api/v1/thresholds": {
            "get": {
                "description": "Retrieve all persisted thresholds",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Thresholds"
                ],
                "summary": "Retrieve all thresholds",
                "operationId": "getAllThresholds",
                "responses": {
                    "200": {
                        "description": "Successfully retrieved all thresholds",
                        "schema": {
                            "$ref": "#/definitions/thresholds"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "put": {
                "description": "Update threshold(s)",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Thresholds"
                ],
                "summary": "Update one or more thresholds",
                "operationId": "updateThreshold",
                "parameters": [
                    {
                        "description": "The new threshold(s)",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/thresholds"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Threshold update request accepted with primary validation successful"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "404": {
                        "description": "Threshold not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "post": {
                "description": "Create a PM threshold and define an alarm for when threshold is violated. All thresholds must be valid for the creation to occur",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Thresholds"
                ],
                "summary": "Create threshold(s) with associated alert",
                "operationId": "createThreshold",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/thresholdsNoID"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Threshold creation request accepted with primary validation successful",
                        "schema": {
                            "$ref": "#/definitions/thresholds"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            }
        },
        "/pmprocessor/api/v1/thresholds/{thresholdId}": {
            "get": {
                "description": "Retrieve a specfic threshold by ID",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Thresholds"
                ],
                "summary": "Retrieve threshold by ID",
                "operationId": "getThresholdById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the threshold to retrieve",
                        "name": "thresholdId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved specified threshold",
                        "schema": {
                            "$ref": "#/definitions/threshold"
                        }
                    },
                    "404": {
                        "description": "Threshold not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "put": {
                "description": "Update a specific threshold by ID",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Thresholds"
                ],
                "summary": "Update threshold by ID",
                "operationId": "updateThresholdById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the threshold to retrieve",
                        "name": "thresholdId",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "The new threshold",
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/threshold"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Threshold update request accepted with primary validation successful"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "404": {
                        "description": "Threshold not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "409": {
                        "description": "Conflicting IDs",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            },
            "delete": {
                "description": "Delete a specific threshold, the deleted threshold is removed from all threshold groups.",
                "tags": [
                    "Thresholds"
                ],
                "summary": "Delete a threshold by ID.",
                "operationId": "deleteThresholdById",
                "parameters": [
                    {
                        "type": "string",
                        "description": "ID of the threshold to delete",
                        "name": "thresholdId",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Threshold delete request accepted with primary validation successful"
                    },
                    "404": {
                        "description": "Threshold not found",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    },
                    "500": {
                        "description": "Error",
                        "schema": {
                            "$ref": "#/definitions/pmProcessorError"
                        }
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/conditions/{conditionId}": {
            "get": {
                "tags": [
                    "conditions"
                ],
                "summary": "Get a condition by condition id",
                "description": "",
                "operationId": "GetCondition",
                "parameters": [
                    {
                        "name": "conditionId",
                        "in": "path",
                        "description": "Identifier of the condition",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Condition"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "conditions"
                ],
                "summary": "Get a condition by condition id",
                "description": "",
                "operationId": "HeadGetCondition",
                "parameters": [
                    {
                        "name": "conditionId",
                        "in": "path",
                        "description": "Identifier of the condition",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "conditions"
                ],
                "summary": "Delete a condition from the policies database",
                "description": "",
                "operationId": "DeleteCondition",
                "parameters": [
                    {
                        "name": "conditionId",
                        "in": "path",
                        "description": "Identifier of the condition to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/conditions": {
            "get": {
                "tags": [
                    "conditions"
                ],
                "summary": "List all of the conditions defined in the Policy Manager",
                "description": "",
                "operationId": "ListConditions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Condition]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "conditions"
                ],
                "summary": "List all of the conditions defined in the Policy Manager",
                "description": "",
                "operationId": "HeadListConditions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "conditions"
                ],
                "summary": "Create a new condition that may be used in policies",
                "description": "",
                "operationId": "CreateCondition",
                "parameters": [
                    {
                        "in": "body",
                        "name": "conditionRequest",
                        "description": "Specification defining a condition",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ConditionProp"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Condition"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/conditions/count": {
            "get": {
                "tags": [
                    "conditions"
                ],
                "summary": "Count conditions defined in the Policy Manager",
                "description": "",
                "operationId": "CountConditions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "conditions"
                ],
                "summary": "Count conditions defined in the Policy Manager",
                "description": "",
                "operationId": "HeadCountConditions",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/conditions/tenants/{tenantId}/conditions": {
            "get": {
                "tags": [
                    "conditions"
                ],
                "summary": "List all of the conditions defined for a specific tenant",
                "description": "",
                "operationId": "ListConditionsByTenantId",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Condition]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "conditions"
                ],
                "summary": "List all of the conditions defined for a specific tenant",
                "description": "",
                "operationId": "HeadListConditionsByTenantId",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/conditions/tenants/{tenantId}/conditions/count": {
            "get": {
                "tags": [
                    "conditions"
                ],
                "summary": "Count the conditions defined for a specific tenant",
                "description": "",
                "operationId": "CountConditionsByTenantId",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "conditions"
                ],
                "summary": "Count the conditions defined for a specific tenant",
                "description": "",
                "operationId": "HeadCountConditionsByTenantId",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/ping": {
            "get": {
                "tags": [
                    "ping"
                ],
                "summary": "Ping the system to see whether the component is ready to handle requests or not",
                "description": "",
                "operationId": "GetPing",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "ping"
                ],
                "summary": "Ping the system to see whether the component is ready to handle requests or not",
                "description": "",
                "operationId": "HeadGetPing",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/policies": {
            "get": {
                "tags": [
                    "policies"
                ],
                "summary": "List all of the policies defined in the Policy Manager",
                "description": "",
                "operationId": "ListPolicies",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Policy]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "policies"
                ],
                "summary": "List all of the policies defined in the Policy Manager",
                "description": "",
                "operationId": "HeadListPolicies",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "policies"
                ],
                "summary": "Create a policy in the policies",
                "description": "Create a policy in the policies",
                "operationId": "CreatePolicy",
                "parameters": [
                    {
                        "in": "body",
                        "name": "policyRequest",
                        "description": "Specification defining a policy",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PolicyProp"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Policy"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/policies/tenants/{tenantId}/policies/count": {
            "get": {
                "tags": [
                    "policies"
                ],
                "summary": "Count the policies defined for a specific tenant",
                "description": "",
                "operationId": "CountPoliciesByTenantId",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "policies"
                ],
                "summary": "Count the policies defined for a specific tenant",
                "description": "",
                "operationId": "HeadCountPoliciesByTenantId",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/policies/{policyId}": {
            "get": {
                "tags": [
                    "policies"
                ],
                "summary": "Get a policy by policy id",
                "description": "",
                "operationId": "GetPolicy",
                "parameters": [
                    {
                        "name": "policyId",
                        "in": "path",
                        "description": "Identifier of the policy",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Policy"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "policies"
                ],
                "summary": "Get a policy by policy id",
                "description": "",
                "operationId": "HeadGetPolicy",
                "parameters": [
                    {
                        "name": "policyId",
                        "in": "path",
                        "description": "Identifier of the policy",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "policies"
                ],
                "summary": "Delete a policy from the policies",
                "description": "",
                "operationId": "DeletePolicy",
                "parameters": [
                    {
                        "name": "policyId",
                        "in": "path",
                        "description": "Identifier of the policy to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/policies/count": {
            "get": {
                "tags": [
                    "policies"
                ],
                "summary": "Count policies defined in the Policy Manager",
                "description": "",
                "operationId": "CountPolicies",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "policies"
                ],
                "summary": "Count policies defined in the Policy Manager",
                "description": "",
                "operationId": "HeadCountPolicies",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/policies/tenants/{tenantId}/policies": {
            "get": {
                "tags": [
                    "policies"
                ],
                "summary": "List all of the policies defined for a specific tenant",
                "description": "",
                "operationId": "ListPoliciesByTenantId",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[Policy]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "policies"
                ],
                "summary": "List all of the policies defined for a specific tenant",
                "description": "",
                "operationId": "HeadListPoliciesByTenantId",
                "parameters": [
                    {
                        "name": "tenantId",
                        "in": "path",
                        "description": "Identifier of the tenant",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/realms": {
            "get": {
                "tags": [
                    "realms"
                ],
                "summary": "List all of the realms defined in the Policy Manager",
                "description": "",
                "operationId": "ListRealms",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ListReply[AuthRealm]"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "realms"
                ],
                "summary": "List all of the realms defined in the Policy Manager",
                "description": "",
                "operationId": "HeadListRealms",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Requested offset within the total result set to be the first element in the paged response",
                        "required": false,
                        "type": "integer",
                        "default": 0
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The maximum number of elements to return in a single paged request",
                        "required": false,
                        "type": "integer",
                        "default": 1000
                    },
                    {
                        "name": "pageToken",
                        "in": "query",
                        "description": "String pagination token returned from a previous query that encodes query information in order to optimize a\nsubsequent request for a page of results. The token includes the limit and offset parameters for the next page, but one or\nboth can be included to override the encoded values",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "post": {
                "tags": [
                    "realms"
                ],
                "summary": "Create a realm in the policies database",
                "description": "",
                "operationId": "CreateRealm",
                "parameters": [
                    {
                        "in": "body",
                        "name": "realmRequest",
                        "description": "Specification defining a realm (name is used as the identification for this realm)",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AuthRealm"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/AuthRealm"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "409": {
                        "description": "Conflict"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/realms/count": {
            "get": {
                "tags": [
                    "realms"
                ],
                "summary": "Count realms defined in the Policy Manager",
                "description": "",
                "operationId": "CountRealms",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/Count"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "realms"
                ],
                "summary": "Count realms defined in the Policy Manager",
                "description": "",
                "operationId": "HeadCountRealms",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Optional query parameter to define a query filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "p",
                        "in": "query",
                        "description": "Optional query parameter to define a partial string match filter using property:value syntax",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Optional parameter indicating maximum number to count. If the actual number is greater than the specified limit, the result will be shown as bounded.",
                        "required": false,
                        "type": "integer"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/bpocore/policies/api/v1/realms/{realmName}": {
            "get": {
                "tags": [
                    "realms"
                ],
                "summary": "Get a realm by realm name",
                "description": "",
                "operationId": "GetRealm",
                "parameters": [
                    {
                        "name": "realmName",
                        "in": "path",
                        "description": "Name of the Realm",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/AuthRealm"
                        }
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "head": {
                "tags": [
                    "realms"
                ],
                "summary": "Get a realm by realm name",
                "description": "",
                "operationId": "HeadGetRealm",
                "parameters": [
                    {
                        "name": "realmName",
                        "in": "path",
                        "description": "Name of the Realm",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            },
            "delete": {
                "tags": [
                    "realms"
                ],
                "summary": "Delete a realm from the policies database",
                "description": "",
                "operationId": "DeleteRealm",
                "parameters": [
                    {
                        "name": "realmName",
                        "in": "path",
                        "description": "Identifier(name) of the realm to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "401": {
                        "description": "Unauthorized"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    },
                    "500": {
                        "description": "Internal Server Error"
                    },
                    "503": {
                        "description": "Service Unavailable"
                    }
                }
            }
        },
        "/nsi/api/tpes": {
            "get": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Retrieves the TPEs satisfying the query parameters",
                "description": "<p>LATEST VERSION: V6<p>Only one of the following parameters must be specified:<ul><li>networkConstruct.id<li>tpeExpectations.equipmentIntent.id<li>tpeExpectations.serviceIntent.id<li>equipmentId<li>id<li>concrete</ul>",
                "operationId": "getTpes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "location",
                        "in": "query",
                        "description": "(Optional) TPE location - shelf-slot-port or slot-port or port. Only applied when Network Construct identifier is provided.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "locationFormat",
                        "in": "query",
                        "description": "(Optional) Format for the given location; when not given, assume location is [[shelf-]slot-]port. Only applied when Network Construct identifier is provided.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "structureType",
                        "in": "query",
                        "description": "(Optional) TPE structure type. Only applied when Network Construct identifier is provided.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentId",
                        "in": "query",
                        "description": "(Optional) Equipment identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete tpe",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.intent.id",
                        "in": "query",
                        "description": "(Optional) The intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "content",
                        "in": "query",
                        "description": "(Optional) The TPE content level",
                        "required": false,
                        "type": "string",
                        "default": "detail",
                        "enum": [
                            "summary",
                            "detail"
                        ]
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 TPEs at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, tpePlanned, tpeDiscovered, concrete, srlgs",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/TpeListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Trigger the creation of a TPE",
                "description": "<p>LATEST VERSION: V6<p>This REST API is intended to be used by service provisioning micro-service IFD only to create a TPE expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>structureType<li>location - management protocol used to retrieve the information and the location of the TPE such as its shelf, slot and port<li>network construct id relationship<li>equipment id relationship if available<li>a list of TPE expectation id relationship<li>the TPE expectation content - specified in the included section<ul><li>layerTerminations, stackDirection, etc.<li>validateParameters - Comma separated list of parameters (if any) to be validated against the expectation</ul></ul><p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"tpeId\",\n    \"type\": \"tpes\",\n    \"attributes\": {\n      \"structureType\": \"PTP\",\n      \"locations\": [\n        {\n          \"managementType\": \"tl1\",\n          \"shelf\": \"12\",\n          \"slot\": \"11\",\n          \"port\": \"1\"\n        }\n      ],\n      \"userData\": {\n        \"userDataLocation\": \"Ottawa\"\n      },\n      \"identifiers\": [\n        {\n          \"ncId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\",\n          \"nodalId\": \"nodalId\"        }\n      ]\n    },\n    \"relationships\": {\n      \"networkConstruct\": {\n        \"data\": {\n          \"type\": \"networkConstructs\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\"\n        }\n      },\n      \"equipment\": {\n        \"data\": {\n          \"type\": \"equipment\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\"\n        }\n      },\n      \"tpeExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"tpeExpectations\",\n            \"id\": \"tpeExpId\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"tpeExpId\",\n      \"type\": \"tpeExpectations\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\",\n        \"validateParameters\": {\n          \"include\": \"stackDirection\"\n        },\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postTpe",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPE to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created the TPEResource. The response only contains the identifiers of the created TPEResource",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/trailtrace": {
            "post": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Get TTI snapshot from RA",
                "description": "This REST API is intended to be used by TAPI to get TTI snapshot from RA. <p>The following attributes should be specified in the post request:<ul><li>resourceId - TPE ID<li>trailTraceType <p>The response will have resource ID and TTI attributes.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"resourceId\": \"fe623a1a-d15f-3f5a-a216-be4137b6e9f6::TPE_fe623a1a-d15f-3f5a-a216-be4137b6e9f6::EQPT_8_5_1-PTP\",\n    \"trailTraceType\": \"section\"\n}\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postTpeTti",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPE resourceId to get TTI snapshot",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeTtiPostDataRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully got the TTI Snapshot. The response contains the resourceId of the requested TPE and TTI snapshot ",
                        "schema": {
                            "$ref": "#/definitions/TpeTtiSnapshotRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{id}/identifiers": {
            "put": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Puts or updates a REST identifier on a TPE",
                "description": "<p>LATEST VERSION: V4<p>This REST API is used to update/create an identifier on a TPE<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n   \"key1\": \"value1\",\n   \"key2\": \"value2\"\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateTpeIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The TPE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated the TPE identifier for a given TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created a new TPE identifier for the given TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Deletes a REST identifier on a TPE",
                "description": "<p>LATEST VERSION: V4",
                "operationId": "deleteTpeIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The TPE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The TPE identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated the TPE identifier for a given TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created a new TPE identifier for the given TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}": {
            "get": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Retrieves a specific TPE",
                "description": "<p>LATEST VERSION: V4",
                "operationId": "getTpe",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded.  The allowed values are: expectations, tpePlanned, tpeDiscovered,srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPE.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Updates or creates a TPE with an id",
                "description": "<p>LATEST VERSION: V5<p>This REST end point is used to either create the TPE object if it doesn't exist already,<p>or updates the TPE object if it exists.<br><p>There are some attributes that cannot be changed, but can be given in a rest call<p>as long as they match the what is in the database. These attributes are:<ul><li>id<li>networkConstruct.id<li>equipment.id<li>location<li>structureType</ul><p>The response holds the new TPE with the new attributes<p>Here is an example TPE that can be in a request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n    \"type\": \"tpes\",\n    \"attributes\": {\n      \"userData\": {\n        \"userDataLocation\": \"Ottawa\"\n      },\n      \"identifiers\": [\n        {\n          \"ncId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\",\n          \"nodalId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"        }\n      ],\n      \"cardType\": \"cardType\",\n      \"state\": \"IS\",\n      \"userLabel\": \"my-tpe\",    },\n    \"relationships\": {\n      \"tpeExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"tpeExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"tpeExpectations\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putTpeById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tpe",
                        "description": "The new TPE data.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "TPE has been successfully updated.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "TPE has been successfully created.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to update TPE.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "De-provision an actual TPEResource or delete a root TPEResource.",
                "description": "This operation is allowed for a root or actual TPEResource entity.<p>LATEST VERSION: V3",
                "operationId": "deleteTpeById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPEResource identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The de-provisioning request was sent or TPEResource is deleted successfully.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "204": {
                        "description": "TPEResource does not exist."
                    },
                    "400": {
                        "description": "The specified TPEResource has expectations.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPEResource",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete TPEResource.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}/expectations": {
            "post": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Create an TPEResource expectation given the TPEResource id",
                "description": "<p>LATEST VERSION: V4<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPEResource identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPEExpectation to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing TPE expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "201": {
                        "description": "TPE expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPEResource",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified TPE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}/expectations/{expectationId}/realize": {
            "post": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Perform a provision operation on a TPE",
                "description": "<p>LATEST VERSION: V3\nIf TPE is not realized, it will trigger a create provisioning operation, otherwise it will trigger a update provisioning operation to change the current discovered data.",
                "operationId": "provisionOperations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "TpeExpectation to realize",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request to provision was sent successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Provisioning request failed against TPE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}/expectations/{tpeExpectationId}": {
            "patch": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "PATCH a specific Tpe expectation",
                "description": "<p>LATEST VERSION: V3</p>\n<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"srlg\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n}\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchTpeExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "The id of the Tpe to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectationId",
                        "in": "path",
                        "description": "The id of the tpeExpectation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given Tpe.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TpePatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}/suppressionPort": {
            "put": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Sets a alarm suppression value in a TPE",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putTpeSuppressionPort",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "Identifier of TPE under which to set the alarm suppression value",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired port suppression value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "TPE alarm suppression has been updated ",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "TPE alarm suppression has been created",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The TPE with that id doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}/tpeExpectations": {
            "get": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Retrieves the expectations of the parent TPE",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getTpeExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE expectation",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationListRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested TPE can't be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve TPE expectations.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}/tpeExpectations/{tpeExpectationId}": {
            "get": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Retrieves a specific TPE expectation",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getTpeExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectationId",
                        "in": "path",
                        "description": "TPE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE expectation.",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the TPE expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the TPE expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Delete TPE Expectation given tpeId and expectationId",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteTpeExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectationId",
                        "in": "path",
                        "description": "TPE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete TPE Expectations with given id successfully."
                    },
                    "204": {
                        "description": "TPE Expectation does not exist."
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "TPE does not exist."
                    },
                    "500": {
                        "description": "Failed to delete TPE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}/tpePlanned": {
            "get": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Retrieves a specific TPE",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "getTpePlanned",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE Planned.",
                        "schema": {
                            "$ref": "#/definitions/TpePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Creates or updates a planned TPE given the TPE id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "putTpePlanned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Planned TPE to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpePlannedRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Planned TPE has been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "201": {
                        "description": "Planned TPE has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified TPE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "PATCH a specific planned TPE",
                "description": "<p>LATEST VERSION: V4</p>\n<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPlannedTpe",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "The id of the TPE to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given TPE.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TpePatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/TpePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/tpes/{tpeId}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Puts a new key value pair into the user data",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putTpeUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "Identifier of TPE under which to create or update the UserData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired userData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "TPE user data has been updated ",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "TPE user data has been created",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The TPE with that id doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapitpes"
                ],
                "summary": "Delete a TPEs userData key and value",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteTpeUserData",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "Identifier to TPE under which to create or update the userData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "The userData key that will be used to delete the potential value",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted the userData with the given id"
                    },
                    "204": {
                        "description": "The specified TPE userData does not exist"
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Could not find the TPE with the specified id, or could not find the userData key",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/tpes/{tpeId}/tpeExpectations": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0tpes"
                ],
                "summary": "Retrieves the expectations of the parent TPE",
                "description": "",
                "operationId": "getTpeExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE expectation",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationListRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The requested TPE can't be found.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve TPE expectations.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/tpes/{tpeId}/tpeExpectations/{tpeExpectationId}": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0tpes"
                ],
                "summary": "Retrieves a specific TPE expectation",
                "description": "",
                "operationId": "getTpeExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectationId",
                        "in": "path",
                        "description": "TPE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE expectation.",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the TPE expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the TPE expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0tpes"
                ],
                "summary": "Delete TPE Expectation given tpeId and expectationId",
                "description": "",
                "operationId": "deleteTpeExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectationId",
                        "in": "path",
                        "description": "TPE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Delete TPE Expectations with given id successfully."
                    },
                    "500": {
                        "description": "Failed to delete TPE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/tpes": {
            "get": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Retrieves the TPEs satisfying the query parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>networkConstruct.id<li>tpeExpectations.equipmentIntent.id<li>tpeExpectations.serviceIntent.id<li>equipmentId<li>id</ul>",
                "operationId": "getTpes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "location",
                        "in": "query",
                        "description": "(Optional) TPE location - shelf-slot-port or slot-port or port",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "structureType",
                        "in": "query",
                        "description": "(Optional) TPE structure type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentId",
                        "in": "query",
                        "description": "(Optional) Equipment identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete tpe",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, tpePlanned, tpeDiscovered, concrete",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "content",
                        "in": "query",
                        "description": "(Optional) The TPE content level",
                        "required": false,
                        "type": "string",
                        "default": "detail",
                        "enum": [
                            "summary",
                            "detail"
                        ]
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted ALL to return all TPEs at once.",
                        "required": false,
                        "type": "string",
                        "default": "ALL"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/TpeListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Trigger the creation of a TPE",
                "description": "This REST API is intended to be used by service provisioning micro-service IFD only to create a TPE expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>structureType<li>location - management protocol used to retrieve the information and the location of the TPE such as its shelf, slot and port<li>network construct id relationship<li>equipment id relationship if available<li>a list of TPE expectation id relationship<li>the TPE expectation content - specified in the included section<ul><li>layerTerminations, stackDirection, etc.<li>equipment or service intent id relationship</ul></ul><p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n    \"type\": \"tpes\",\n    \"attributes\": {\n      \"structureType\": \"PTP\",\n      \"locations\": [\n        {\n          \"managementType\": \"tl1\",\n          \"shelf\": \"12\",\n          \"slot\": \"11\",\n          \"port\": \"1\"\n        }\n      ],\n      \"userData\": {\n        \"ossLabel\": \"ossLabel\"\n      },\n      \"identifiers\": [\n        {\n          \"ncId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\",\n          \"ossLabel\": \"ossLabel\"        }\n      ]\n    },\n    \"relationships\": {\n      \"networkConstruct\": {\n        \"data\": {\n          \"type\": \"networkConstructs\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\"\n        }\n      },\n      \"equipment\": {\n        \"data\": {\n          \"type\": \"equipment\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\"\n        }\n      },\n      \"tpeExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"tpeExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"tpeExpectations\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre>",
                "operationId": "postTpe",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPE to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created the TPE. The response only contains the identifiers of the created TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/tpes/{tpeId}": {
            "get": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Retrieves a specific TPE",
                "description": "",
                "operationId": "getTpe",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded.  The allowed values are: expectations, tpePlanned, tpeDiscovered,srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "De-provision an actual TPE or delete a root TPE.",
                "description": "This operation is allowed for a root or actual TPE entity.",
                "operationId": "deleteTpeById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The de-provisioning request was sent or TPE is deleted successfully.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "204": {
                        "description": "TPE does not exist."
                    },
                    "400": {
                        "description": "The specified TPE has expectations.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete TPE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/tpes/{tpeId}/expectations": {
            "post": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Create an TPE expectation given the TPE id",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPEExpectation to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing FRE expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "201": {
                        "description": "FRE expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/tpes/{tpeId}/expectations/{expectationId}/realize": {
            "post": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Perform a provision operation on a TPE",
                "description": "If TPE is not realized, it will trigger a create provisioning operation, otherwise it will trigger a update provisioning operation to change the current discovered data.",
                "operationId": "provisionOperations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "TpeExpectation to realize",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request to provision was sent successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Provisioning request failed against TPE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/tpes/{tpeId}/expectations/{tpeExpectationId}": {
            "patch": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "PATCH a specific Tpe expectation",
                "description": "<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"srlg\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n},\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchTpeExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "The id of the Tpe to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectationId",
                        "in": "path",
                        "description": "The id of the tpeExpectation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given Tpe.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TpePatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/tpes/{tpeId}/tpeExpectations/{tpeExpectationId}": {
            "delete": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Delete TPE Expectation given tpeId and expectationId",
                "description": "",
                "operationId": "deleteTpeExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectationId",
                        "in": "path",
                        "description": "TPE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete TPE Expectations with given id successfully."
                    },
                    "204": {
                        "description": "TPE Expectation does not exist."
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "TPE does not exist."
                    },
                    "500": {
                        "description": "Failed to delete TPE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/tpes/{tpeId}/tpePlanned": {
            "get": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Retrieves a specific TPE",
                "description": "",
                "operationId": "getTpePlanned",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE.",
                        "schema": {
                            "$ref": "#/definitions/TpePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Creates or updates a planned TPE given the TPE id",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putTpePlanned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Planned TPE to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpePlannedRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Planned TPE has been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "201": {
                        "description": "Planned TPE has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified TPE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "PATCH a specific planned TPE",
                "description": "<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPlannedTpe",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "The id of the TPE to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given TPE.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TpePatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/TpePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/tpes/{tpeId}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Puts a new key value pair into the user data",
                "description": "",
                "operationId": "putTpeUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "Identifier of TPE under which to create or update the UserData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of the UserData to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired userData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "TPE user data has been updated ",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "TPE user data has been created",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The TPE with that id doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3tpes"
                ],
                "summary": "Delete a TPEs userData key and value",
                "description": "",
                "operationId": "deleteTpeUserData",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "Identifier to TPE under which to create or update the userData",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "The userData key that will be used to delete the potential value",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted the userData with the given id"
                    },
                    "204": {
                        "description": "The specified TPE userData does not exist"
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Could not find the TPE with the specified id, or could not find the userData key",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/tpes": {
            "get": {
                "tags": [
                    "996 - nsiapiv4tpes"
                ],
                "summary": "Retrieves the TPEs satisfying the query parameters",
                "description": "<p>The following search paths are not supported for the searchFields query parameter:<ul><li>data.attributes.tpeSpec<li>data.attributes.tpeGroupSpecs<li>data.attributes.locations.loc_oid<li>data.attributes.capacityReservations.*<li>data.attributes.syncScopes.*<li>data.relationships.networkConstructAssociation.data.id</ul><p>Specifying a path for the searchFields parameter of an attribute in the following objects will search the parent object for the value specified in searchText: adjacencyPackage, powerPackage, photonicSpectrumPackage, and signalIndex.<p>To specify an expectation path for the searchFields parameter use the prefix \"data.relationships.tpeExpectations.data.*\"",
                "operationId": "getTpes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search on. If none are specified, all supported fields are implied. Fields require full path (e.g. data.attributes.name) Fields not supported under this filter are `data.attributes.layerTerminations.layerProtocol.*`",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of networkConstruct planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: portsL2AvailableAll, portsL2ApplicableEPLUni, portsL2ApplicableEVPLUni, portsL2ApplicableEnni, portsL2ApplicableEPLUniWithMcLag, portsL2ApplicableEVPLUniWithMcLag, portsL2ApplicableEnniWithMcLag, portsTunnelsL2ApplicableAll, portsTDMCEApplicableAll",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "(Optional) The comma separated identifier key set",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "(Optional) The comma separated identifier value set",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete tpe",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bookingData.lockout",
                        "in": "query",
                        "description": "(Optional)  Flag that enables/disables a link from having additional tunnel BW being consumed",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "(Optional) The active state of the resource",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "content",
                        "in": "query",
                        "description": "(Optional) The TPE content level",
                        "required": false,
                        "type": "string",
                        "default": "detail",
                        "enum": [
                            "summary",
                            "detail"
                        ]
                    },
                    {
                        "name": "location",
                        "in": "query",
                        "description": "(Optional) TPE location delimited by dashes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "locationFormat",
                        "in": "query",
                        "description": "(Optional) Format for the given location; when not given, assume location is [[shelf-]slot-]port",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "structureType",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE structure types",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentId",
                        "in": "query",
                        "description": "(Optional) Equipment identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "gneSubnetName",
                        "in": "query",
                        "description": "(Optional) GNE Subnet name of the TPE",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "(Optional) List of meta data to be included. The allowed values are: stackDirection, layerRate, state, cardType, structureType, structureSubType, resourceState",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, concrete, networkConstructs",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/TpeListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "996 - nsiapiv4tpes"
                ],
                "summary": "Trigger the creation of a TPE",
                "description": "This REST API is intended to be used by service provisioning micro-service IFD only to create a TPE expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>structureType<li>location - management protocol used to retrieve the information and the location of the TPE such as its shelf, slot and port<li>network construct id relationship<li>equipment id relationship if available<li>a list of TPE expectation id relationship<li>the TPE expectation content - specified in the included section<ul><li>layerTerminations, stackDirection, etc.<li>validateParameters - Comma separated list of parameters (if any) to be validated against the expectation</ul></ul><p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"tpeId\",\n    \"type\": \"tpes\",\n    \"attributes\": {\n      \"structureType\": \"PTP\",\n      \"locations\": [\n        {\n          \"managementType\": \"tl1\",\n          \"shelf\": \"12\",\n          \"slot\": \"11\",\n          \"port\": \"1\"\n        }\n      ],\n      \"userData\": {\n        \"ossLabel\": \"ossLabel\"\n      },\n      \"identifiers\": [\n        {\n          \"ncId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\",\n          \"ossLabel\": \"ossLabel\"        }\n      ]\n    },\n    \"relationships\": {\n      \"networkConstruct\": {\n        \"data\": {\n          \"type\": \"networkConstructs\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\"\n        }\n      },\n      \"equipment\": {\n        \"data\": {\n          \"type\": \"equipment\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11\"\n        }\n      },\n      \"tpeExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"tpeExpectations\",\n            \"id\": \"tpeExpId\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"tpeExpId\",\n      \"type\": \"tpeExpectations\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\",\n        \"validateParameters\": {\n          \"include\": \"stackDirection\"\n        },\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postTpe",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPE to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created the TPE. The response only contains the identifiers of the created TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v4/tpes/{id}/identifiers": {
            "put": {
                "tags": [
                    "996 - nsiapiv4tpes"
                ],
                "summary": "Puts or updates a REST identifier on a TPE",
                "description": "This REST API is used to update/create an identifier on a TPE<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n   \"key1\": \"value1\",\n   \"key2\": \"value2\"\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateTpeIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The TPE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated the TPE identifier for a given TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created a new TPE identifier for the given TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "996 - nsiapiv4tpes"
                ],
                "summary": "Deletes a REST identifier on a TPE",
                "description": "",
                "operationId": "deleteTpeIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The TPE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The TPE identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated the TPE identifier for a given TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created a new TPE identifier for the given TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/tpes/{tpeId}": {
            "get": {
                "tags": [
                    "996 - nsiapiv4tpes"
                ],
                "summary": "Retrieves a specific TPE",
                "description": "",
                "operationId": "getTpe",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded.  The allowed values are: expectations, tpePlanned, tpeDiscovered, srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the TPE.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPE.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "996 - nsiapiv4tpes"
                ],
                "summary": "Updates or creates a TPE with an id",
                "description": "This REST end point is used to either create the TPE object if it doesn't exist already,<p>or updates the TPE object if it exists.<br><p>There are some attributes that cannot be changed, but can be given in a rest call<p>as long as they match the what is in the database. These attributes are:<ul><li>id<li>networkConstruct.id<li>equipment.id<li>location<li>structureType</ul><p>The response holds the new TPE with the new attributes<p>Here is an example TPE that can be in a request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n    \"type\": \"tpes\",\n    \"attributes\": {\n      \"userData\": {\n        \"ossLabel\": \"ossLabel\"\n      },\n      \"identifiers\": [\n        {\n          \"ncId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\",\n          \"ossLabel\": \"ossLabel\"        }\n      ]\n    },\n    \"relationships\": {\n      \"tpeExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"tpeExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n          }\n        ]\n      }\n    },\n    \"tpePlanned\": {\n        \"data\": {\n          \"type\": \"tpePlanned\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"tpeExpectations\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    },\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n      \"type\": \"tpePlanned\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        },\n        \"networkConstruct\": {\n          \"data\": {\n            \"type\": \"networkConstructs\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putTpeById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "The TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tpeRO",
                        "description": "The TpeRO object to be used to update the DB object",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "TPE has been successfully updated.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "TPE has been successfully created.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update TPE.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v4/tpes/{tpeId}/expectations": {
            "post": {
                "tags": [
                    "996 - nsiapiv4tpes"
                ],
                "summary": "Create an TPE expectation given the TPE id",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPEExpectation to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing TPE expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "201": {
                        "description": "TPE expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/TpeExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified TPE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/tpes/{tpeId}/tpePlanned": {
            "patch": {
                "tags": [
                    "996 - nsiapiv4tpes"
                ],
                "summary": "PATCH a specific planned TPE",
                "description": "<p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPlannedTpe",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "The id of the TPE to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given TPE.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TpePatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/TpePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v5/tpes": {
            "get": {
                "tags": [
                    "995 - nsiapiv5tpes"
                ],
                "summary": "Retrieves the TPEs satisfying the query parameters",
                "description": "<p>Only one of the following parameters must be specified:<ul><li>networkConstruct.id<li>tpeExpectations.equipmentIntent.id<li>tpeExpectations.serviceIntent.id<li>equipmentId<li>id<li>concrete</ul>",
                "operationId": "getTpesV5",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentId",
                        "in": "query",
                        "description": "(Optional) Equipment identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete tpe",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "content",
                        "in": "query",
                        "description": "(Optional) The TPE content level",
                        "required": false,
                        "type": "string",
                        "default": "detail",
                        "enum": [
                            "summary",
                            "detail"
                        ]
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted ALL to return all TPEs at once.",
                        "required": false,
                        "type": "string",
                        "default": "ALL"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, tpePlanned, tpeDiscovered, concrete, srlgs",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/TpeListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "995 - nsiapiv5tpes"
                ],
                "summary": "Trigger the creation of a TPE",
                "description": "This REST API is intended to be used by service provisioning micro-service IFD only to create a TPE expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>structureType<li>location - management protocol used to retrieve the information and the location of the TPE such as its shelf, slot and port<li>network construct id relationship<li>equipment id relationship if available<li>a list of TPE expectation id relationship<li>the TPE expectation content - specified in the included section<ul><li>layerTerminations, stackDirection, etc.<li>validateParameters - Comma separated list of parameters (if any) to be validated against the expectation</ul></ul><p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n    \"type\": \"tpes\",\n    \"attributes\": {\n      \"userData\": {\n        \"ossLabel\": \"ossLabel\"\n      },\n      \"identifiers\": [\n        {\n          \"ncId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\",\n          \"ossLabel\": \"ossLabel\"        }\n      ]\n    },\n    \"relationships\": {\n      \"tpeExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"tpeExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n          }\n        ]\n      }\n    },\n    \"tpePlanned\": {\n        \"data\": {\n          \"type\": \"tpePlanned\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"tpeExpectations\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    },\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n      \"type\": \"tpePlanned\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        },\n        \"networkConstruct\": {\n          \"data\": {\n            \"type\": \"networkConstructs\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postTpe",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPE to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created the TPE. The response only contains the identifiers of the created TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v5/tpes/{tpeId}": {
            "put": {
                "tags": [
                    "995 - nsiapiv5tpes"
                ],
                "summary": "Updates or creates a TPE with an id",
                "description": "This REST end point is used to either create the TPE object if it doesn't exist already,<p>or updates the TPE object if it exists.<br><p>There are some attributes that cannot be changed, but can be given in a rest call<p>as long as they match the what is in the database. These attributes are:<ul><li>id<li>networkConstruct.id<li>equipment.id<li>location<li>structureType</ul><p>The response holds the new TPE with the new attributes<p>Here is an example TPE that can be in a request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n    \"type\": \"tpes\",\n    \"attributes\": {\n      \"userData\": {\n        \"userDataLocation\": \"Ottawa\"\n      },\n      \"identifiers\": [\n        {\n          \"ncId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\",\n          \"nodalId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"        }\n      ]\n    },\n    \"relationships\": {\n      \"tpeExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"tpeExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n          }\n        ]\n      }\n    },\n    \"tpePlanned\": {\n        \"data\": {\n          \"type\": \"tpePlanned\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"tpeExpectations\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    },\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n      \"type\": \"tpePlanned\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        },\n        \"networkConstruct\": {\n          \"data\": {\n            \"type\": \"networkConstructs\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putTpeById",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "The TPE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tpeRO",
                        "description": "The TpeRO object to be used to update the DB object",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "TPE has been successfully updated.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "TPE has been successfully created.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update TPE.",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v6/tpes": {
            "get": {
                "tags": [
                    "994 - nsiapiv6tpes"
                ],
                "summary": "Retrieves the TPEs satisfying the query parameters",
                "description": "<p>Only one of the following parameters must be specified:<ul><li>networkConstruct.id<li>tpeExpectations.equipmentIntent.id<li>tpeExpectations.serviceIntent.id<li>equipmentId<li>id<li>concrete</ul>",
                "operationId": "getTpesV6",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of TPE identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "location",
                        "in": "query",
                        "description": "(Optional) TPE location - shelf-slot-port or slot-port or port. Only applied when Network Construct identifier is provided.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "locationFormat",
                        "in": "query",
                        "description": "(Optional) Format for the given location; when not given, assume location is [[shelf-]slot-]port. Only applied when Network Construct identifier is provided.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "structureType",
                        "in": "query",
                        "description": "(Optional) TPE structure type. Only applied when Network Construct identifier is provided.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "equipmentId",
                        "in": "query",
                        "description": "(Optional) Equipment identifier. In case of usage with limit parameter, paging will be enabled.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) Id of the concrete tpe",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeExpectations.intent.id",
                        "in": "query",
                        "description": "(Optional) The intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "content",
                        "in": "query",
                        "description": "(Optional) The TPE content level",
                        "required": false,
                        "type": "string",
                        "default": "detail",
                        "enum": [
                            "summary",
                            "detail"
                        ]
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. Defaulted to return 30 TPEs at once.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, tpePlanned, tpeDiscovered, concrete",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/TpeListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested TPEs.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "994 - nsiapiv6tpes"
                ],
                "summary": "Trigger the creation of a TPE",
                "description": "This REST API is intended to be used by service provisioning micro-service IFD only to create a TPE expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>structureType<li>location - management protocol used to retrieve the information and the location of the TPE such as its shelf, slot and port<li>network construct id relationship<li>equipment id relationship if available<li>a list of TPE expectation id relationship<li>the TPE expectation content - specified in the included section<ul><li>layerTerminations, stackDirection, etc.<li>validateParameters - Comma separated list of parameters (if any) to be validated against the expectation</ul></ul><p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n    \"type\": \"tpes\",\n    \"attributes\": {\n      \"userData\": {\n        \"userDataLocation\": \"Ottawa\"\n      },\n      \"identifiers\": [\n        {\n          \"ncId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8\",\n          \"nodalId\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"        }\n      ]\n    },\n    \"relationships\": {\n      \"tpeExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"tpeExpectations\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n          }\n        ]\n      }\n    },\n    \"tpePlanned\": {\n        \"data\": {\n          \"type\": \"tpePlanned\",\n          \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP::6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\",\n      \"type\": \"tpeExpectations\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    },\n    {\n      \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\",\n      \"type\": \"tpePlanned\",\n      \"attributes\": {\n        \"layerTerminations\": [\n          {\n            \"layerRate\": \"OTU4\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"DSR\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"additionalAttributes\": {\n              \"MODULATION\": \"QPSK100G\"\n            }\n          },\n          {\n            \"layerRate\": \"OTSi\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OMS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"OTS\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\"\n          },\n          {\n            \"layerRate\": \"PHY\",\n            \"structureType\": \"full layer fixed\",\n            \"terminationState\": \"layer termination permanently terminated\",\n            \"adjacencyPackage\": {\n              \"adjacencyType\": \"TXRX\",\n              \"localTag\": \"PV0428A-12-11-1\",\n              \"provisionedRemoteTag\": \"PV0428A-11-21-7\",\n              \"remoteTag\": \"PV0428A-11-21-7\",\n              \"topologySourceTag\": \"DISCOVERED\"\n            }\n          }\n        ],\n        \"stackDirection\": \"bidirectional\"\n      },\n      \"relationships\": {\n        \"equipmentIntent\": {\n          \"data\": {\n            \"type\": \"equipmentIntents\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        },\n        \"networkConstruct\": {\n          \"data\": {\n            \"type\": \"networkConstructs\",\n            \"id\": \"6825fda4-1e9f-4c5c-9e48-d5acb4d5b6b9\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postTpe",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPE to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created the TPE. The response only contains the identifiers of the created TPE",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v6/tpes/trailtrace": {
            "post": {
                "tags": [
                    "994 - nsiapiv6tpes"
                ],
                "summary": "Get TTI snapshot from RA",
                "description": "This REST API is intended to be used by TAPI to get TTI snapshot from RA. <p>The following attributes should be specified in the post request:<ul><li>resourceId - TPE ID<li>trailTraceType <p>The response will have resource ID and TTI attributes.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"resourceId\": \"fe623a1a-d15f-3f5a-a216-be4137b6e9f6::TPE_fe623a1a-d15f-3f5a-a216-be4137b6e9f6::EQPT_8_5_1-PTP\",\n    \"trailTraceType\": \"section\"\n}\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postTpeTti",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "TPE resourceId to get TTI snapshot",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/TpeTtiPostDataRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully got the TTI Snapshot. The response contains the resourceId of the requested TPE and TTI snapshot ",
                        "schema": {
                            "$ref": "#/definitions/TpeTtiSnapshotRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v6/tpes/{tpeId}/suppressionPort": {
            "put": {
                "tags": [
                    "994 - nsiapiv6tpes"
                ],
                "summary": "Sets a alarm suppression value in a TPE",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putTpeSuppressionPort",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "path",
                        "description": "Identifier of TPE under which to set the alarm suppression value",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The desired alarm suppression value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "TPE alarm suppression has been updated ",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "201": {
                        "description": "TPE alarm suppression has been created",
                        "schema": {
                            "$ref": "#/definitions/TpeRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified TPE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The TPE with that id doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/ats/api/v1/problems": {
            "post": {
                "tags": [
                    "Problems"
                ],
                "summary": "Get all problems matching the search filters, or all problems if no search filters provided",
                "description": "",
                "operationId": "getProblems",
                "consumes": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ProblemRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned the problems"
                    },
                    "400": {
                        "description": "Invalid value provided for one of the attributes"
                    },
                    "500": {
                        "description": "The server encountered an error while getting the problems",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ats/api/v1/problems/{id}": {
            "get": {
                "tags": [
                    "Problems"
                ],
                "summary": "Get a problem by its ID, optionally include the related alarm resources",
                "description": "",
                "operationId": "getProblem",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully returned the problem"
                    },
                    "404": {
                        "description": "A problem does not exist with the provided ID"
                    },
                    "500": {
                        "description": "The server encountered an error while getting the problems",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "Problems"
                ],
                "summary": "Patch a problem by ID",
                "description": "",
                "operationId": "patchProblem",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ProblemPatch"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully patched the problem"
                    },
                    "400": {
                        "description": "Invalid value provided for one of the attributes of the problem"
                    },
                    "403": {
                        "description": "The current user does not have access to the problem's partition(s)"
                    },
                    "404": {
                        "description": "A problem does not exist with the provided ID"
                    },
                    "500": {
                        "description": "The server encountered an error while getting the problems",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/PlanningProjects": {
            "get": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Gets planning projects.",
                "description": "Can filter on the list of planning projects using one of the following:\r\n- name: filter on projects with specified name\r\n- projectType and/or projectState: filter on projects with the specified projectType and/or projectState\r\n- projects with completion date within specified dates\r\n- archivedStatus: filter projects with specified archived status- All, Archived, UnArchived",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "description": "The project name.",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectState",
                        "description": "List of comma separated project states to filter on.",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "projectType",
                        "description": "List of comma separated project types to filter on.",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "completionDateStart",
                        "description": "The RFC 3339 date specifying the beginning of the interval (e.g. 2017-10-02T10:00:00-05:00).",
                        "type": "string",
                        "default": ""
                    },
                    {
                        "in": "query",
                        "name": "completionDateEnd",
                        "description": "The RFC 3339 date specifying the end of the interval (e.g. 2017-10-02T10:00:00-05:00).",
                        "type": "string",
                        "default": ""
                    },
                    {
                        "in": "query",
                        "name": "archivedStatus",
                        "description": "filter projects with specified archived status"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/PlanningProject"
                            }
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Create a planning project.",
                "description": "Create a new planning project. The initial state of the new project will always be New.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "profileName",
                        "description": "The current proffile if ROD or Generic. \r\n            This will be passed by taking current profile from ETP by some other libraries like Onep-proxy",
                        "type": "string",
                        "default": "ROD"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The planning project.",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Deletes planning projects.",
                "description": "Deleting a project is only allowed if the project is not in the Committing state. Deleting a project\r\ndeletes all associated data, including intent.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "description": "The planning project name.",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "checkDependencies",
                        "description": "If set to true, then validate if other projects depend on project being deleted.",
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/{id}": {
            "get": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Get a planning project by ID.",
                "operationId": "GetByGuid",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning project ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Updates the specified planning project.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning project ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The planning project.",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Deletes a planning project.",
                "description": "Deleting a project is only allowed if the project is not in the Committing state. Deleting a project\r\ndeletes all associated data, including intent.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning project ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "query",
                        "name": "checkDependencies",
                        "description": "If set to true, then validate if other projects depend on project being deleted.",
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/{id}/commit": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Commits the planning project.",
                "description": "Committing a project is an asynchronous operation that creates equipment intent. A project can only be committed\r\nwhen the state is InProcess. Query the project's status for the result of the commit and the intent ID, if successful.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning project ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/{id}/commitOperation": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Commits the planning project.",
                "description": "NOTE: This operation will be removed in MCP 17.06.\r\nPlease use the commit operation instead to commit the project\r\n\r\nCommitting a project is an asynchronous operation that creates equipment intent. A project can only be committed\r\nwhen the state is InProcess. Query the project's status for the result of the commit and the intent ID, if successful.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning project ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/commit": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Commits planning projects.",
                "description": "Committing a project is an asynchronous operation that creates equipment intent. A project can only be committed\r\nwhen the state is InProcess. Query the project's status for the result of the commit and the intent ID, if successful.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "description": "The planning project name.",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/commitOperation": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Commits planning projects.",
                "description": "NOTE: This operation will be removed in MCP 17.06.\r\nPlease use the commit operation instead to commit the project\r\n\r\nCommitting a project is an asynchronous operation that creates equipment intent. A project can only be committed\r\nwhen the state is InProcess. Query the project's status for the result of the commit and the intent ID, if successful.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "description": "The planning project name.",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/{id}/cancel": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Cancels a planning project.",
                "description": "Cancels a project asynchronously. Query the project status to get the result of the commit. A planning project can only be canceled\r\nwhen the state is Committed. In the former state, the project will go directly to When a project has been committed,\r\na request to Delete the Intent is issued (Canceling) and if successful, the project state will be Canceled.\r\nIf the intent Delete cannot be completed, the project state will be either CancelFailed or Error.\r\n\r\nIf the project is New, Error or InProcess, use the Planning Project Delete operation instead.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning project ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "query",
                        "name": "ignoreEquipmentProvisioning",
                        "description": "Optional parameter. If set to true provisioned equipment will be deleted. False by default.",
                        "type": "boolean"
                    },
                    {
                        "in": "query",
                        "name": "checkDependencies",
                        "description": "If set to true, then validate if other projects depend on project being cancelled.",
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/{id}/cancelOperation": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Cancels a planning project.",
                "description": "NOTE: This operation will be removed in MCP 17.06.\r\nPlease use the cancel operation instead to cancel the project\r\n\r\nCancels a project asynchronously. Query the project status to get the result of the commit. A planning project can only be canceled\r\nwhen the state is Committed. In the former state, the project will go directly to When a project has been committed,\r\na request to Delete the Intent is issued (Canceling) and if successful, the project state will be Canceled.\r\nIf the intent Delete cannot be completed, the project state will be either CancelFailed or Error.\r\n\r\nIf the project is New, Error or InProcess, use the Planning Project Delete operation instead.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The planning project ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "query",
                        "name": "ignoreEquipmentProvisioning",
                        "description": "Optional parameter. If set to true provisioned equipment will be deleted. False by default.",
                        "type": "boolean"
                    },
                    {
                        "in": "query",
                        "name": "checkDependencies",
                        "description": "If set to true, then validate if other projects depend on project being cancelled.",
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/cancel": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Cancels planning project.",
                "description": "Cancels a project asynchronously. Query the project status to get the result of the commit. A planning project can only be canceled\r\nwhen the state is Committed. In the former state, the project will go directly to When a project has been committed,\r\na request to Delete the Intent is issued (Canceling) and if successful, the project state will be Canceled.\r\nIf the intent Delete cannot be completed, the project state will be either CancelFailed or Error.\r\n\r\nIf the project is New, Error or InProcess, use the Planning Project Delete operation instead.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "description": "The planning project name.",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "ignoreEquipmentProvisioning",
                        "description": "Optional parameter. If set to true provisioned equipment will be deleted. False by default.",
                        "type": "boolean"
                    },
                    {
                        "in": "query",
                        "name": "checkDependencies",
                        "description": "If set to true, then validate if other projects depend on project being cancelled.",
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/cancelOperation": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Cancels planning project.",
                "description": "NOTE: This operation will be removed in MCP 17.06.\r\nPlease use the cancel operation instead to cancel the project\r\n\r\nCancels a project asynchronously. Query the project status to get the result of the commit. A planning project can only be canceled\r\nwhen the state is Committed. In the former state, the project will go directly to When a project has been committed,\r\na request to Delete the Intent is issued (Canceling) and if successful, the project state will be Canceled.\r\nIf the intent Delete cannot be completed, the project state will be either CancelFailed or Error.\r\n\r\nIf the project is New, Error or InProcess, use the Planning Project Delete operation instead.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "description": "The planning project name.",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "ignoreEquipmentProvisioning",
                        "description": "Optional parameter. If set to true provisioned equipment will be deleted. False by default.",
                        "type": "boolean"
                    },
                    {
                        "in": "query",
                        "name": "checkDependencies",
                        "description": "If set to true, then validate if other projects depend on project being cancelled.",
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/updateArchivedStatus": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Updates the specified archived status of planning projects.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/ProjectsArchivedStatusUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/nameChangeOperation": {
            "post": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Changes the name of a planning project.",
                "description": "NOTE: This operation will be removed in MCP 17.06.\r\nPlease use the PATCH operation instead to modify the name",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "description": "The planning project name.",
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The new name of the planning project.",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/projectmanagement/api/v1/PlanningProjects/name/{projectName}": {
            "patch": {
                "tags": [
                    "PlanningProjects"
                ],
                "summary": "Partially updates the project.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectName",
                        "description": "Name of the project.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The planning project.",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/PlanningProject"
                        }
                    },
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v2/ProjectLists": {
            "get": {
                "tags": [
                    "ProjectLists"
                ],
                "summary": "Get all project lists.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectList"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ProjectLists"
                ],
                "summary": "Create a project list.",
                "description": "Create a project list. Project lists can only be created empty. Use the addProject REST API to add projects to the project list.\r\nThe initial state of the new project list will always be New.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Project list to create.",
                        "schema": {
                            "$ref": "#/definitions/ProjectList"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectList"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/ErrorList"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v2/ProjectLists/{id}": {
            "get": {
                "tags": [
                    "ProjectLists"
                ],
                "summary": "Get a project list by ID.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The project list ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectList"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v2/ProjectLists/{projectListId}/addProject": {
            "post": {
                "tags": [
                    "ProjectLists"
                ],
                "summary": "Append a project to the list and validate the project list.",
                "description": "This REST API is intended to be used during pre load to validate project dependencies. Please note that conflicts do not get resolved currently.\r\nThe following assumptions are made:\r\n* A Project can only be added to one Project List\r\n* Each time a project is added, it will be validated against the list\r\n* A project cannot be removed from a list (the list must be deleted)\r\n* Equipment projects must be created against a list to account for planned equipment or nodes in the project list.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectListId",
                        "description": "The project list ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The identifier of the project to append to the list.",
                        "schema": {
                            "$ref": "#/definitions/AddProjectRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectList"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v2/ProjectLists/name/{projectListName}/addProject": {
            "post": {
                "tags": [
                    "ProjectLists"
                ],
                "summary": "Append a project to the list and validate the project list.",
                "description": "This REST API is intended to be used during pre load to validate project dependencies. Please note that conflicts do not get resolved currently.\r\nThe following assumptions are made:\r\n* A Project can only be added to one Project List\r\n* Each time a project is added, it will be validated against the list\r\n* A project cannot be removed from a list (the list must be deleted)\r\n* Equipment projects must be created against a list to account for planned equipment or nodes in the project list.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectListName",
                        "description": "The project list name.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The identifier of the project to append to the list.",
                        "schema": {
                            "$ref": "#/definitions/AddProjectRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectList"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v2/ProjectLists/{projectListId}": {
            "delete": {
                "tags": [
                    "ProjectLists"
                ],
                "summary": "Delete a project list by ID.",
                "description": "Delete a project list by ID. This operation will first remove all projects from the list.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectListId",
                        "description": "The project list ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v2/ProjectLists/name/{projectListName}": {
            "delete": {
                "tags": [
                    "ProjectLists"
                ],
                "summary": "Delete a project list by name.",
                "description": "Delete a project list by name. This operation will first remove all projects from the list.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectListName",
                        "description": "The project list name.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/ProjectLists": {
            "get": {
                "tags": [
                    "ProjectListsV1"
                ],
                "summary": "Get all project lists.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "name",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectListV1"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "ProjectListsV1"
                ],
                "summary": "Create a project list.",
                "description": "Create a project list. Project lists can only be created empty. Use the addProject REST API to add projects to the project list.\r\nThe initial state of the new project list will always be New.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Project list to create.",
                        "schema": {
                            "$ref": "#/definitions/ProjectListV1"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectListV1"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/ErrorList"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/ProjectLists/{id}": {
            "get": {
                "tags": [
                    "ProjectListsV1"
                ],
                "summary": "Get a project list by ID.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "id",
                        "description": "The project list ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectListV1"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/ProjectLists/{projectListId}/addProject": {
            "post": {
                "tags": [
                    "ProjectListsV1"
                ],
                "summary": "Append a project to the list and validate the project list.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectListId",
                        "description": "The project list ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The identifier of the project to append to the list.",
                        "schema": {
                            "$ref": "#/definitions/AddProjectRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectListV1"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/ProjectLists/name/{projectListName}/addProject": {
            "post": {
                "tags": [
                    "ProjectListsV1"
                ],
                "summary": "Append a project to the list and validate the project list.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectListName",
                        "description": "The project list name.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "The identifier of the project to append to the list.",
                        "schema": {
                            "$ref": "#/definitions/AddProjectRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/ProjectListV1"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/ProjectLists/{projectListId}": {
            "delete": {
                "tags": [
                    "ProjectListsV1"
                ],
                "summary": "Delete a project list by ID.",
                "description": "Delete a project list by ID. This operation will first remove all projects from the list.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectListId",
                        "description": "The project list ID.",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/projectmanagement/api/v1/ProjectLists/name/{projectListName}": {
            "delete": {
                "tags": [
                    "ProjectListsV1"
                ],
                "summary": "Delete a project list by name.",
                "description": "Delete a project list by name. This operation will first remove all projects from the list.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "path",
                        "name": "projectListName",
                        "description": "The project list name.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Success",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "format": "int32",
                            "type": "integer"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/reporting/api/v1/report": {
            "post": {
                "tags": [
                    "000 - reportingapiv1report"
                ],
                "summary": "API to generate an on demand report",
                "description": "This API generates an on demand report of specific report type provided by user.\n<p>Prerequisite: The following attributes should be specified in the post request:<ul><li>reportType - Type of report user wants to generate </ul>",
                "operationId": "getOnDemandReport",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Provide report type to generate a report.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/OnDemandReportRequestModel"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/ReportMetaDataModel"
                        }
                    },
                    "201": {
                        "description": "On demand report generated successfully",
                        "schema": {
                            "$ref": "#/definitions/ReportMetaDataModel"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Report generation failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/report/delete": {
            "delete": {
                "tags": [
                    "000 - reportingapiv1report"
                ],
                "summary": "Delete reports on date range and report type basis.",
                "description": "This API deletes reports as per parameter values provided by user.",
                "operationId": "deleteReports",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "fromDate",
                        "in": "query",
                        "description": "Start date required for delete reports starting from From_Date. Format required: [yyyy-MM-dd'T'HH:mm:ss.SSS'Z]",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "toDate",
                        "in": "query",
                        "description": "End date required for deleting reports up to end date. Format required: [yyyy-MM-dd'T'HH:mm:ss.SSS'Z]",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "reportType",
                        "in": "query",
                        "description": "Type of report user interested to delete.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reports deleted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Reports deletion failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/report/delete/{resourceId}": {
            "delete": {
                "tags": [
                    "000 - reportingapiv1report"
                ],
                "summary": "Delete a report associated with resource id.",
                "description": "This API helps to delete a specific report, which is associated with resource id provided by user.",
                "operationId": "deleteReportForResourceId",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id is required to delete a specific report",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Report deleted successfully for user provided resource id"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Deletion of report failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/report/reportinfo/{resourceId}": {
            "get": {
                "tags": [
                    "000 - reportingapiv1report"
                ],
                "summary": "Fetch report's meta data information against a resource id",
                "description": "This API fetch report's meta data information against the user provided resource id.",
                "operationId": "getReportDetailsOnResourceId",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id is required for fetching a specific report meta data information",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report's meta data information fetched successfully.",
                        "schema": {
                            "$ref": "#/definitions/ReportMetaDataModel"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No record found for resource id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report meta data information failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/report/reportsinfo": {
            "get": {
                "tags": [
                    "000 - reportingapiv1report"
                ],
                "summary": "Fetch meta data information for all/specific report type.",
                "description": "This API fetch report's meta data for mutiple reports on the basis of parameter values provided by user.",
                "operationId": "getReportDetails",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "fromDate",
                        "in": "query",
                        "description": "Start date to query reports meta data. Format required: [yyyy-MM-dd'T'HH:mm:ss.SSS'Z]",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toDate",
                        "in": "query",
                        "description": "End date to query reports meta data. Format required: [yyyy-MM-dd'T'HH:mm:ss.SSS'Z]",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "reportType",
                        "in": "query",
                        "description": "Type of report user interested to see meta data for.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report on resource id",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/AllReportMetaDataModelRO"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of reports info failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/report/{resourceId}": {
            "get": {
                "tags": [
                    "000 - reportingapiv1report"
                ],
                "summary": "Fetch report data for a report which is associated with user provided resource id.",
                "description": "This API is used to fetch report data using resource id which is uniquely associated with a report.",
                "operationId": "getReportForResourceId",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json",
                    "text/plain"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id is required for fetching a specific report data",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report on resource id",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "203": {
                        "description": "Report generation in progress for resource id"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No record found for resource id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/schedule": {
            "get": {
                "tags": [
                    "000 - reportingapiv1schedule"
                ],
                "summary": "Fetch all schedules for a single/list of report types.",
                "description": "This API is used to fetch schedules associated with a single or multiple report types. Report types will be provided in comma separated values",
                "operationId": "getReportScheduleForReportType",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "reportType",
                        "in": "query",
                        "description": "Report type is required to fetch all schedules associated with report type",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report's schedule fetched successfully for a report type",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/QueryAllReportsScheduleROV1"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report schedules failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/schedule/create": {
            "post": {
                "tags": [
                    "000 - reportingapiv1schedule"
                ],
                "summary": "Create a new schedule for a report type.",
                "description": "This QPI is used to create a new report schedule for a report type.\n<p>Prerequiste: The following attributes should be specified in the post request:<ul><li>startTime - Start time represents start time of report generation. Required format [yyyy-MM-ddTHH:mm:ss.SSSZ] <li>reportType - Type of report user wants to create schedule for </ul>",
                "operationId": "createReportSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create a report schedule provided with userData.Date format [yyyy-MM-ddTHH:mm:ss.SSSZ]",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CreateAndUpdateReportScheduleModelV1"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/QueryReportScheduleROV1"
                        }
                    },
                    "201": {
                        "description": "Report's schedule successfully created",
                        "schema": {
                            "$ref": "#/definitions/QueryReportScheduleROV1"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Creation of report's schedule failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/schedule/delete/{resourceId}": {
            "delete": {
                "tags": [
                    "000 - reportingapiv1schedule"
                ],
                "summary": "Delete a specific report's schedule associated with resource id.",
                "description": "This API is used to delete a report's schedule uniquely assigned to a resource id.",
                "operationId": "deleteReportScheduleForResourceId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id used for deleting a specific report's schedule",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Report's schedule deleted successfully for resource id",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Deletion of report's schedule failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v1/schedule/{resourceId}": {
            "get": {
                "tags": [
                    "000 - reportingapiv1schedule"
                ],
                "summary": "Fetch a specific schedule associated with resource id.",
                "description": "This API is used to fetch a schedule associated with a report on resource id basis.",
                "operationId": "getReportScheduleOnResourceId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id is required for fetching a report's schedule associated with resource id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Schedule fetched successfully for a resource id",
                        "schema": {
                            "$ref": "#/definitions/QueryReportScheduleROV1"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report schedule failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/reporting/api/v2/report": {
            "post": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "API to generate an on demand report",
                "description": "This API generates an on demand report of specific report type provided by user.\n<p>Prerequisite: The following attributes should be specified in the post request:<ul><li>reportType - Type of report user wants to generate </ul>",
                "operationId": "getOnDemandReport",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Provide report type to generate a report.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/OnDemandReportRequestPayloadV2"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/OnDemandReportMetaDataResponseModelV2"
                        }
                    },
                    "201": {
                        "description": "On demand report generated successfully",
                        "schema": {
                            "$ref": "#/definitions/OnDemandReportMetaDataResponseModelV2"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Report generation failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/createreporttype": {
            "post": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "creates user-defined custom report-type",
                "description": "",
                "operationId": "uploadFile",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "reportType",
                        "in": "query",
                        "description": "Type of report user interested to create.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "Description",
                        "in": "query",
                        "description": "Description of new report type.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "uploadWorkflow",
                        "in": "formData",
                        "description": "workflow for Report in XML Format",
                        "required": true,
                        "type": "file"
                    },
                    {
                        "name": "joltFile",
                        "in": "formData",
                        "description": "(Deprecated) JOLT spec for JSON transformation",
                        "required": false,
                        "type": "file"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/CreateReportTypeResponseModel"
                        }
                    },
                    "201": {
                        "description": "New Report-type created successfully",
                        "schema": {
                            "$ref": "#/definitions/CreateReportTypeResponseModel"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "New Report-type creation failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/delete": {
            "delete": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "Delete reports on date range and report type basis.",
                "description": "This API deletes reports as per parameter values provided by user.",
                "operationId": "deleteReports",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "fromDate",
                        "in": "query",
                        "description": "Start date required for deleting reports starting from From_Date. Format required: [yyyy-MM-dd'T'HH:mm:ss.SSS'Z]",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "toDate",
                        "in": "query",
                        "description": "End date required for deleting reports up to end date. Format required: [yyyy-MM-dd'T'HH:mm:ss.SSS'Z]",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "reportType",
                        "in": "query",
                        "description": "Type of report user interested to delete.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Reports deleted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Reports deletion failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/delete/reporttype/{reportType}": {
            "delete": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "Delete a report type.",
                "description": "This API helps to delete a specific user created report type.",
                "operationId": "deleteReportType",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "reportType",
                        "in": "path",
                        "description": "Report Type is required to delete a specific report type",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "User created report type deleted successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No record found for report type",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Deletion of report type failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/delete/{resourceId}": {
            "delete": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "Delete a report associated with resource id.",
                "description": "This API helps to delete a specific report, which is associated with resource id provided by user.",
                "operationId": "deleteReportForResourceId",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id is required to delete a specific report",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Report deleted successfully for user provided resource id"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No record found for resource id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Deletion of report failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/insertCircleTypeForLldpLinks": {
            "post": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "Add/Update circle, type, ring type corresponding to a Ring Name.",
                "description": "This API helps to Add/Update circle, type, ring type corresponding to a Ring Name defined in  LLDP Links Report.",
                "operationId": "insertCircleTypeForRingName",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "uploadPropertyFile",
                        "in": "formData",
                        "required": true,
                        "type": "file"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "type": "string"
                        }
                    },
                    "201": {
                        "description": "Addition/updation done successfully"
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Addition/Updation failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/onetouch": {
            "post": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "API to generate and return report in one-touch.",
                "description": "This API generates and fetches report of specific type and format provided by user in a single operation. The data is encoded as zip octet-stream.\n<p>Prerequisite: The following attributes should be specified in the post request:<ul><li>reportFormat - Format of report user wants to generate. Values can be JSON or CSV <li>reportType - Type of report user wants to generate <li>utcOffset - Timezone offset e.g. 'GMT-5:00'(for Eastern Time) or 'GMT+5:30'(for IST). \nThis offset will be used in report's meta-information to show times in the provided timezone. Default value is <i>GMT+0:00</i></ul>",
                "operationId": "getOneTouchReport",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/zip"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Provide report format and type to generate a report.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/OneTouchReportRequestPayloadV2"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully generated and fetched report data associated with resource id. Encoded as zip octet-stream.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No record found for resource id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report data failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/reportinfo/{resourceId}": {
            "get": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "Fetch report's meta data information against a resource id",
                "description": "This API fetch report's meta data information against the user provided resource id.",
                "operationId": "getReportDetailsOnResourceId",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id is required for fetching a specific report meta data information",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report's meta data information fetched successfully.",
                        "schema": {
                            "$ref": "#/definitions/ReportMetaDataResponseModelV2"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report meta data information failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/reportsinfo": {
            "get": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "Fetch meta data information for all/specific report type.",
                "description": "This API fetch report's meta data for multiple reports on the basis of parameter values provided by user.",
                "operationId": "getReportsMetaInfo",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "fromDate",
                        "in": "query",
                        "description": "Start date to query reports meta data. Format required: [yyyy-MM-dd'T'HH:mm:ss.SSS'Z]",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toDate",
                        "in": "query",
                        "description": "End date to query reports meta data. Format required: [yyyy-MM-dd'T'HH:mm:ss.SSS'Z]",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "reportType",
                        "in": "query",
                        "description": "Type of report user interested to see meta data for.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "reportStatus",
                        "in": "query",
                        "description": "Status of report, used for filtering report meta data.Valid values are : Requested,Processing,Success,Failed",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "reportGenerationMode",
                        "in": "query",
                        "description": "Report generation mode, used for filtering report meta data.Valid values are : On demand,Scheduled",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "Sort output data.Valid values are : reportGenerationMode,-reportGenerationMode,reportStatus,-reportStatus,reportType,-reportType,reportGenerationTime,-reportGenerationTime",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report on resource id",
                        "schema": {
                            "$ref": "#/definitions/OnDemandReportMetaDataResponseModelV2"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of reports info failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/supported/reporttype": {
            "get": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "Fetch list of report types supported.",
                "description": "This API is used to fetch list of all report types supported by reporting feature",
                "operationId": "getAllSupportedReportTypes",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "responses": {
                    "200": {
                        "description": "List of supported report types",
                        "schema": {
                            "$ref": "#/definitions/SupportedReportTypesV2"
                        }
                    },
                    "500": {
                        "description": "Retrieval of supported report types failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/report/{resourceId}": {
            "get": {
                "tags": [
                    "000 - reportingapiv2report"
                ],
                "summary": "Fetch report data for a report which is associated with user provided resource id. The data is encoded as zip octet-stream.",
                "description": "This API is used to fetch report data using resource id which is uniquely associated with a report.",
                "operationId": "getReportForResourceId",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/zip"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id is required for fetching a specific report data.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "reportFormat",
                        "in": "query",
                        "description": "Report format i.e. JSON or CSV.",
                        "required": true,
                        "type": "string",
                        "default": "CSV"
                    },
                    {
                        "name": "utcOffset",
                        "in": "query",
                        "description": "<p>Timezone offset e.g. 'GMT-5:00'(for Eastern Time) or 'GMT+5:30'(for IST).<p> This offset will be used in report's meta-information to show times in the provided timezone.",
                        "required": false,
                        "type": "string",
                        "default": "GMT+0:00"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully fetched report data associated with resource id. Encoded as zip octet-stream.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No record found for resource id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report data failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/schedule": {
            "get": {
                "tags": [
                    "000 - reportingapiv2schedule"
                ],
                "summary": "Fetch all schedules for report types.",
                "description": "This API is used to fetch schedules associated with a single or multiple report types. Report types will be provided in comma separated values",
                "operationId": "getReportScheduleForReportType",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "reportType",
                        "in": "query",
                        "description": "Report type is required to fetch all schedules associated with report type",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Report's schedule fetched successfully for a report type",
                        "schema": {
                            "$ref": "#/definitions/QueryAllReportsScheduleROV2"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report schedules failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/schedule/create": {
            "post": {
                "tags": [
                    "000 - reportingapiv2schedule"
                ],
                "summary": "Create a new schedule for a report type.",
                "description": "This API is used to create a new report schedule for a report type.\n<p>Prerequisite: The following attributes should be specified in the post request:<ul><li>cronExpression - cron expression  Example: \"00 00 19 23 May ? 2018\" (at 19:00:00 at 23rd day at May month at 2018 year)<li>cronExpressionFormat - cron expression format i.e. QUARTZ or UNIX<li>reportType - Type of report user wants to create schedule for </ul>",
                "operationId": "createReportSchedule",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "JSON request to create a report schedule.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ReportsScheduleRequestPayloadV2"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/QueryReportsScheduleROV2"
                        }
                    },
                    "201": {
                        "description": "Report's schedule successfully created",
                        "schema": {
                            "$ref": "#/definitions/QueryReportsScheduleROV2"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Creation of report's schedule failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/schedule/delete/{resourceId}": {
            "delete": {
                "tags": [
                    "000 - reportingapiv2schedule"
                ],
                "summary": "Delete a specific report's schedule associated with a resource id.",
                "description": "This API is used to delete a report's schedule uniquely assigned to a resource id.",
                "operationId": "deleteReportScheduleForResourceId",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id used for deleting a specific report's schedule",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Report's schedule deleted successfully for resource id.",
                        "schema": {
                            "$ref": "#/definitions/Response"
                        }
                    },
                    "404": {
                        "description": "No record found for resource id.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Deletion of report's schedule failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/reporting/api/v2/schedule/{resourceId}": {
            "get": {
                "tags": [
                    "000 - reportingapiv2schedule"
                ],
                "summary": "Fetch a specific schedule associated with resource id.",
                "description": "This API is used to fetch a schedule associated with a report on resource id basis.",
                "operationId": "getReportScheduleOnResourceId",
                "consumes": [
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "Resource id is required for fetching a report's schedule associated with resource id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Schedule fetched successfully for a resource id",
                        "schema": {
                            "$ref": "#/definitions/QueryReportsScheduleROV2"
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "No record found for resource id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Retrieval of report schedule failed.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/controllers": {
            "get": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Retrieve a list of controllers provided with the satisfying parameters",
                "description": "",
                "operationId": "getControllers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default is 30.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, controllerPlanned, controllerDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested controller.",
                        "schema": {
                            "$ref": "#/definitions/ControllerListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested controllers.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Creates a controller",
                "description": "",
                "operationId": "postController",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Controller to create or update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created the controller.",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create the controller",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/controllers/{controllerId}": {
            "get": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Retrieves a specific controller",
                "description": "",
                "operationId": "getController",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Identifier of the Controller to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, controllerPlanned, controllerDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested controller.",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified Controller does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested controllers.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Delete a root Controller.",
                "description": "This operation is allowed for a root or actual Controller entity.",
                "operationId": "deleteControllerById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The Controller is deleted successfully."
                    },
                    "204": {
                        "description": "Controller does not exist."
                    },
                    "400": {
                        "description": "Bad request, input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to delete specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/controllers/{controllerId}/controllerExpectations": {
            "get": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Retrieves the expectations from Controller with specific ID",
                "description": "",
                "operationId": "getControllerExpectationsById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Identifier of the Controller to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ControllerExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the Controller with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve Controller with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/controllers/{controllerId}/controllerExpectations/{controllerExpectationId}": {
            "delete": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Delete Controller Expectation given controllerId and expectationId",
                "description": "",
                "operationId": "deleteControllerExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "controllerExpectationId",
                        "in": "path",
                        "description": "Controller expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete Controller Expectations with given id successfully."
                    },
                    "204": {
                        "description": "Controller Expectation does not exist."
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Controller does not exist."
                    },
                    "500": {
                        "description": "Failed to delete Controller Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/controllers/{controllerId}/controllerPlanned": {
            "get": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Retrieves the planned Controller by specific Controller ID",
                "description": "",
                "operationId": "getControllerPlannedById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Identifier of the Controller Planned to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ControllerPlannedDataRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the Controller with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve Controller with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/controllers/{controllerId}/expectations": {
            "post": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Create an Controller expectation given the Controller id",
                "description": "",
                "operationId": "postExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "ControllerExpectation to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ControllerExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing Controller expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "201": {
                        "description": "Controller expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified Controller does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/controllers/{controllerId}/expectations/{controllerExpectationId}/realize": {
            "post": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Perform a provision operation on a Controller",
                "description": "<p>LATEST VERSION: V1\n",
                "operationId": "provisionOperations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "controllerExpectationId",
                        "in": "path",
                        "description": "ControllerExpectation to realize",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request to provision was sent successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Provisioning request failed against Controller.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/controllers/{controllerId}/operation/{operation}": {
            "put": {
                "tags": [
                    "000 - nsiapicontrollers"
                ],
                "summary": "Perform a Controller Operation on NE",
                "description": "",
                "operationId": "putControllerOperations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operation",
                        "in": "path",
                        "description": "Controller operation",
                        "required": true,
                        "type": "string",
                        "enum": [
                            "manualSwitchToWork",
                            "manualSwitchToProtect",
                            "forcedSwitchToWork",
                            "forcedSwitchToProtect",
                            "clear",
                            "clearProtect"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The Controller Operation was executed successfully"
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified Controller does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/controllers": {
            "get": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Retrieve a list of controllers provided with the satisfying parameters",
                "description": "",
                "operationId": "getControllers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "20"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, controllerPlanned, controllerDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested controller.",
                        "schema": {
                            "$ref": "#/definitions/ControllerListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested controllers.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Creates a controller",
                "description": "",
                "operationId": "postController",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Controller to create or update",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Successfully created the controller.",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "400": {
                        "description": " Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create the controller",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/controllers/{controllerId}": {
            "get": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Retrieves a specific controller",
                "description": "",
                "operationId": "getController",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Identifier of the Controller to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, controllerPlanned, controllerDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested controller.",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested controllers.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Delete a root Controller.",
                "description": "This operation is allowed for a root or actual Controller entity.",
                "operationId": "deleteControllerById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The Controller is deleted successfully."
                    },
                    "204": {
                        "description": "Controller does not exist."
                    },
                    "400": {
                        "description": "Bad request, input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to delete specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/controllers/{controllerId}/controllerExpectations": {
            "get": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Retrieves the expectations from Controller with specific ID",
                "description": "",
                "operationId": "getControllerExpectations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Identifier of the Controller to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ControllerExpectationRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the Controller with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve Controller with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/controllers/{controllerId}/controllerExpectations/{controllerExpectationId}": {
            "delete": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Delete Controller Expectation given controllerId and expectationId",
                "description": "",
                "operationId": "deleteControllerExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "controllerExpectationId",
                        "in": "path",
                        "description": "Controller expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Delete Controller Expectations with given id successfully."
                    },
                    "204": {
                        "description": "Controller Expectation does not exist."
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Controller does not exist."
                    },
                    "500": {
                        "description": "Failed to delete Controller Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/controllers/{controllerId}/controllerPlanned": {
            "get": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Retrieves the planned Controller by specific Controller ID",
                "description": "",
                "operationId": "getControllerPlannedById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Identifier of the Controller Planned to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ControllerPlannedDataRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the Controller with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve Controller with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/controllers/{controllerId}/expectations": {
            "post": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Create an Controller expectation given the Controller id",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "ControllerExpectation to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ControllerExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing Controller expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "201": {
                        "description": "Controller expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified Controller does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/controllers/{controllerId}/expectations/{controllerExpectationId}/realize": {
            "post": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Perform a provision operation on a Controller",
                "description": "<p>LATEST VERSION: V1\n",
                "operationId": "provisionOperations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "controllerExpectationId",
                        "in": "path",
                        "description": "ControllerExpectation to realize",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request to provision was sent successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Provisioning request failed against Controller.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/controllers/{controllerId}/operation/{operation}": {
            "put": {
                "tags": [
                    "996 - nsiapiv1controllers"
                ],
                "summary": "Perform a Controller Operation on NE",
                "description": "",
                "operationId": "putControllerOperations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Controller identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operation",
                        "in": "path",
                        "description": "Controller operation",
                        "required": true,
                        "type": "string",
                        "enum": [
                            "manualSwitchToWork",
                            "manualSwitchToProtect",
                            "forcedSwitchToWork",
                            "forcedSwitchToProtect",
                            "clear",
                            "clearProtect"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The Controller Operation was executed successfully"
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified Controller does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2/controllers": {
            "get": {
                "tags": [
                    "995 - nsiapiv2controllers"
                ],
                "summary": "Retrieve a list of controllers provided with the satisfying parameters",
                "description": "",
                "operationId": "getControllers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default is 30.",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, controllerPlanned, controllerDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested controller.",
                        "schema": {
                            "$ref": "#/definitions/ControllerListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested controllers.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2/controllers/{controllerId}": {
            "get": {
                "tags": [
                    "995 - nsiapiv2controllers"
                ],
                "summary": "Retrieves a specific controller",
                "description": "",
                "operationId": "getController",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "controllerId",
                        "in": "path",
                        "description": "Identifier of the Controller to retrieve",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: expectations, controllerPlanned, controllerDiscovered",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested controller.",
                        "schema": {
                            "$ref": "#/definitions/ControllerRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Controller",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified Controller does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested controllers.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/jsonSchemas": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Retrieve JSON Schemas provided by managed RAs",
                "description": "Retrieves a list of JSON Schemas provided by the RA instances currently under management.",
                "operationId": "getAllJsonSchemas",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of JSON schemas",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/jsonSchemas/{title}": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Get information for one JSON Schema.",
                "description": "Retrieve information for the JSON Schema identified.",
                "operationId": "getJsonSchemaByTitle",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "title",
                        "in": "path",
                        "description": "Title for the json schema",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List with the referenced JSON Schema",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not found, no schema with the supplied title.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/ras": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Retrieve information about RAs managed by discovery.",
                "description": "Retrieves raInfo, resourceTypes, resourceProviders, jsonSchemas, sessions, typeGroups, uri and id for each RA managed by discovery.",
                "operationId": "getAllRas",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of RA information",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/ras/{raId}": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Get information for one RA.",
                "description": "Retrieves raInfo, resourceTypes, resourceProviders, jsonSchemas, sessions, typeGroups, uri and id for one RA managed by discovery.",
                "operationId": "getRaById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "raId",
                        "in": "path",
                        "description": "Id for the RA",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of RA information",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not found, no RA with the supplied ID.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/rebalanceSessions": {
            "post": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Rebalance sessions across all RA instances.",
                "description": "",
                "operationId": "rebalanceSessionsPost",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "102": {
                        "description": "A rebalancing operation is already in progress.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "201": {
                        "description": "A rebalancing operation has been initiated."
                    }
                }
            }
        },
        "/ractrl/api/v1/resourceTypes": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Retrieve resourceTypes provided by the managed RAs.",
                "description": "Retrieves a list of resourceTypes provided by the managed RAs.",
                "operationId": "getAllResourceTypes",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of resourceTypes.",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/resourceTypes/{resourceTypeId}": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Get information for one resourceType.",
                "description": "Retrieves a list containing information for one resourceType.",
                "operationId": "getResourceTypeById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceTypeId",
                        "in": "path",
                        "description": "Id for the ResourceType",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List with resourceType information.",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not found, no resourceType with the supplied resourceTypeId.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/sessions": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Retrieve sessions on managed RAs.",
                "description": "Retrieves a list of sessions present on the managed RA instances.",
                "operationId": "getAllSessions",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of RA sessions.",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/sessions/{sessionId}": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Get information for one RA session.",
                "description": "Retrieves a list with information for one RA session.",
                "operationId": "getSessionById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "sessionId",
                        "in": "path",
                        "description": "Id for the Session",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List with RA session information.",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not found, no RA session with the supplied sessionId.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/typeGroups": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Retrieve information for typeGroups provided by the managed RAs.",
                "description": "Retrieves a list of typeGroups provided by the managed RAs.",
                "operationId": "getAllTypeGroups",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "List of typeGroups.",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    }
                }
            }
        },
        "/ractrl/api/v1/typeGroups/{typeGroupId}": {
            "get": {
                "tags": [
                    "RaController V1"
                ],
                "summary": "Retrieve information for one typeGroup provided by the managed RAs.",
                "description": "Retrieves a list containing information for one typeGroup.",
                "operationId": "getTypeGroupById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "typeGroupId",
                        "in": "path",
                        "description": "Id for the typeGroup",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List with typeGroup information.",
                        "schema": {
                            "$ref": "#/definitions/RaCtrlListRO"
                        }
                    },
                    "400": {
                        "description": "Bad request, usually caused by invalid values provided for a parameter",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Not found, no typeGroup with the supplied typeGroupId.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/smo/api/v1/smoProjects": {
            "get": {
                "tags": [
                    "smoapiv1smoProjects"
                ],
                "summary": "Retrieves the SMO Projects satisfying the query parameters",
                "description": "List of SMO Projects returned in JSON format.",
                "operationId": "getProjects",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "srcFre",
                        "in": "query",
                        "description": "(Optional) Comma separated list of src FRE identifiers referencing the desired SMO Projects",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested SMO projects.",
                        "schema": {
                            "$ref": "#/definitions/ProjectListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested projects.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "smoapiv1smoProjects"
                ],
                "summary": "Creates an SMO Project",
                "description": "<p>This REST API is intended to be used to create an SMO Project..<p>The following attributes and relationships should be specified in the post request:<ul><li>srcFre an array of FRE identifiers representing the contextual fibre links</ul><p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"type\": \"smoProjects\",\n    \"id\": \"1\",\n    \"relationships\": {\n      \"srcFre\": {\n        \"data\": [\n          {\n            \"type\": \"fres\",\n            \"id\": \"-1014191875716228335\"\n          }\n        ]\n      }\n    }\n  }\n}</code></pre>",
                "operationId": "createProject",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Project to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ProjectRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/ProjectRO"
                        }
                    },
                    "201": {
                        "description": "Project created successfully.",
                        "schema": {
                            "$ref": "#/definitions/ProjectRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create the SMO Project.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/smo/api/v1/smoProjects/{projectId}": {
            "get": {
                "tags": [
                    "smoapiv1smoProjects"
                ],
                "summary": "Retrieves a specific SMO Project",
                "description": "<p>LATEST VERSION: V1",
                "operationId": "getSpecificProject",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "description": "Identifier of the SMO project",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: srcFre, smoServices",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved project by ID",
                        "schema": {
                            "$ref": "#/definitions/ProjectRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the project with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve project with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "smoapiv1smoProjects"
                ],
                "summary": "Deletes a specific SMO project",
                "description": "",
                "operationId": "deleteById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "description": "Identifier of SMO Project to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted NC successfully."
                    },
                    "403": {
                        "description": "Forbidden to delete specified SMO project",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified project does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete the project.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/smo/api/v1/smoProjects/{projectId}/smoServices": {
            "patch": {
                "tags": [
                    "smoapiv1smoProjects"
                ],
                "summary": "Update attributes on the services tied to the specific project Id",
                "description": "Upon request accepted, code 202 is returned and the updated project returned<p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"path\": \"/data/attributes/status\",\n      \"op\": \"replace\",\n      \"value\": \"Restore\",\n      \"ids\": [\n        \"2034023754902357252905\",\n        \"130-21482358043-5834588\",\n        \"5409687504970978404590\"\n      ]\n    },\n    {\n      \"path\": \"/data/attributes/onHomePath\",\n      \"op\": \"replace\",\n      \"value\": \"true\",\n      \"ids\": [\n        \"2034023754902357252905\"\n      ]\n    }\n  ]\n}</code></pre>",
                "operationId": "invokeServiceOperations",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "projectId",
                        "in": "path",
                        "description": "Identifier of the SMO project",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to services contained in the given project.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ServicePatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server"
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified project",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/smo/api/v1/smoServices/{serviceId}": {
            "get": {
                "tags": [
                    "smoapiv1smoServices"
                ],
                "summary": "Retrieves a specific SMO Service",
                "description": "",
                "operationId": "getSpecificService",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "serviceId",
                        "in": "path",
                        "description": "Identifier of the SMO service",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: servicePath",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved service by ID",
                        "schema": {
                            "$ref": "#/definitions/ServiceRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the service with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve service with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/serviceIntents": {
            "get": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Get all Service Intents",
                "description": "Gets all Service Intents currently stored in the database.<p>Prerequisite: At least one Service Intent must exist.</p>",
                "operationId": "getAllIntents",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "label",
                        "in": "query",
                        "description": "(Optional) Retrieve service intents with the specified service user label",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRates",
                        "in": "query",
                        "description": "(Optional) Retrieve service intents that operate at the given layer rate(s)",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "roadmLineName",
                        "in": "query",
                        "description": "(Optional) Retrieve service intents that utilize the named ROADM Line",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportingServiceName",
                        "in": "query",
                        "description": "(Optional) Retrieve all client service intents for the specified supporting (infrastructure) service name",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Intents retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponseArray"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Not Supported - Create Service Intents",
                "description": "This API validates intent attributes, computes a path and schedules intent realization for deployment.<p>Prerequisite: The entered Service Intent is valid.</p>",
                "operationId": "createIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Intent as a JSON Profile wrapper object",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Intent is created, realized and scheduled",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/serviceIntents/deleteIntent/{id}": {
            "delete": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "For INTERNAL USE ONLY: Deletes a Service Intent based on its identifier from IFD DB only",
                "description": "This API deletes service Intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "deleteServiceIntent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Intent deleted"
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/serviceIntents/{id}": {
            "get": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Get a Service Intent based on its identifier",
                "description": "This API retrieves an Intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "getIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Intent retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Delete a Service Intent based on its identifier",
                "description": "This API deletes an Intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "deleteIntent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Intent deleted"
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/serviceIntents/{id}/deploy": {
            "post": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Not Supported - Deploy a Service Intent based on its identifier",
                "description": "This API deploys a created service intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "deployIntent",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/serviceIntents/{id}/forceFailState": {
            "post": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Force State the Service Intent based on its identifier",
                "description": "This API switches the service intent to FAILED_ACTIVATING/FAILED_DEACTIVATING from ACTIVATING/DEACTIVATING respectively based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "forceState",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/serviceIntents/{id}/realignState": {
            "post": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Not Supported - Realign Service Intent based on its identifier",
                "description": "This API will realign service intent state to its resource trackers states in case where service intent is in ACTIVATING state but all intent resource trackers are ACTIVATED.Similarly, intent state is in DEACTIVATING state but all intent resource trackers are DEACTIVATED.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "realignState",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/serviceIntents/{id}/resourceTrackers": {
            "get": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Get Service Intent Resource Trackers based on its identifier",
                "description": "This API retrieves all resource trackers based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "getServiceResourceTrackers",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "ServiceIntent ResourceTrackers retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRoutes"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/serviceIntents/{id}/route": {
            "get": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Get Service Intent Route based on its identifier",
                "description": "This API retrieves a Route based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "getServiceRoute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Route retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRoutes"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Route id not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/serviceIntents/{id}/undeploy": {
            "post": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Begins undeployment of a service intent based on its identifier",
                "description": "This API undeploys a service based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "undeployIntent",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "ignoreClientServiceDependencies",
                        "in": "query",
                        "description": "(Optional. Demo Only - not officially supported) Bypasses service provisioning client service validation if set to true",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Intent found and undeployment will begin"
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "412": {
                        "description": "Intent not in correct state",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/serviceIntents/{id}/update": {
            "put": {
                "tags": [
                    "Service Intents"
                ],
                "summary": "Updates a Service Intent based on its identifier",
                "description": "This API modifies an existing service intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "updateIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Intent with the fields to be updated",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update successful",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid input"
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/serviceIntents": {
            "get": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Get all Service Intents",
                "description": "Gets all Service Intents currently stored in the database.<p>Prerequisite: At least one Service Intent must exist.</p>",
                "operationId": "getAllIntents",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "label",
                        "in": "query",
                        "description": "(Optional) Retrieve service intents with the specified service user label",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRates",
                        "in": "query",
                        "description": "(Optional) Retrieve service intents that operate at the given layer rate(s)",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "roadmLineName",
                        "in": "query",
                        "description": "(Optional) Retrieve service intents that utilize the named ROADM Line",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportingServiceName",
                        "in": "query",
                        "description": "(Optional) Retrieve all client service intents for the specified supporting (infrastructure) service name",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Intents retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponseArray"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Not Supported - Create Service Intents",
                "description": "This API validates intent attributes, computes a path and schedules intent realization for deployment.<p>Prerequisite: The entered Service Intent is valid.</p>",
                "operationId": "createIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Intent as a JSON Profile wrapper object",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Intent is created, realized and scheduled",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v1/serviceIntents/deleteIntent/{id}": {
            "delete": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "For INTERNAL USE ONLY: Deletes a Service Intent based on its identifier from IFD DB only",
                "description": "This API deletes service Intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "deleteServiceIntent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Intent deleted"
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/serviceIntents/getFeasibleRoute": {
            "post": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Get Feasible Route",
                "description": "This API returns a feasible route based on provided input parameters, but does not persist the route.<p>Prerequisite: The entered input is valid (including checks such as that the label must be unique).</p>",
                "operationId": "getFeasibleRoute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Inputs as a JSON Profile wrapper object",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Feasibility check has completed without error",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRoute"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/serviceIntents/{id}": {
            "get": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Get a Service Intent based on its identifier",
                "description": "This API retrieves an Intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "getIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Intent retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Delete a Service Intent based on its identifier",
                "description": "This API deletes an Intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "deleteIntent",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Intent deleted"
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/serviceIntents/{id}/deploy": {
            "post": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Not Supported - Deploy a Service Intent based on its identifier",
                "description": "This API deploys a created service intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "deployIntent",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v1/serviceIntents/{id}/forceFailState": {
            "post": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Force State the Service Intent based on its identifier",
                "description": "This API switches the service intent to FAILED_ACTIVATING/FAILED_DEACTIVATING from ACTIVATING/DEACTIVATING respectively based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "forceState",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/serviceIntents/{id}/realignState": {
            "post": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Not Supported - Realign Service Intent State based on its identifier",
                "description": "This API will realign service intent state to its resource trackers states in case where service intent is in ACTIVATING state but all intent resource trackers are ACTIVATED.Similarly, intent state is in DEACTIVATING state but all intent resource trackers are DEACTIVATED.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "realignState",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Ok",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v1/serviceIntents/{id}/resourceTrackers": {
            "get": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Get Service Intent Resource Trackers based on its identifier",
                "description": "This API retrieves all resource trackers based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "getServiceResourceTrackers",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "ServiceIntent ResourceTrackers retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRoute"
                        }
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/serviceIntents/{id}/route": {
            "get": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Get Service Intent Route based on its identifier",
                "description": "This API retrieves a Route based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "getServiceRoute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Route retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRoute"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Route id not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v1/serviceIntents/{id}/undeploy": {
            "post": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Begins undeployment of a service intent based on its identifier",
                "description": "This API undeploys a service based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "undeployIntent",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "name": "ignoreClientServiceDependencies",
                        "in": "query",
                        "description": "(Optional. Demo Only - not officially supported) Bypasses service provisioning client service validation if set to true",
                        "required": false,
                        "type": "boolean",
                        "default": false
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Intent found and undeployment will begin"
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "412": {
                        "description": "Intent not in correct state",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/serviceIntents/{id}/update": {
            "put": {
                "tags": [
                    "Service Intents v1"
                ],
                "summary": "Updates a Service Intent based on its identifier",
                "description": "This API modifies an existing service intent based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "updateIntent",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Intent with the fields to be updated",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Update successful",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentResponse"
                        }
                    },
                    "400": {
                        "description": "Invalid input"
                    },
                    "404": {
                        "description": "Intent not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v2/serviceIntents/{id}/route": {
            "get": {
                "tags": [
                    "Service Intents v2"
                ],
                "summary": "Get Service Intent Route based on its identifier",
                "description": "This API retrieves a Route based on ID.<p>Prerequisite: A Service Intent must exist with the given ID.</p>",
                "operationId": "getServiceRoute",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "The unique identifier of the service intent",
                        "required": true,
                        "type": "string",
                        "format": "uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Route retrieved",
                        "schema": {
                            "$ref": "#/definitions/ServiceIntentRoutes"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Route id not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/bpoifdnbi/.well-known/host-meta": {},
        "/bpoifdnbi/api/v1/L2ServiceOperation/resync": {},
        "/bpoifdnbi/api/v1/config": {},
        "/bpoifdnbi/api/v1/operation/resync": {},
        "/bpoifdnbi/api/v1/resourceOperations": {},
        "/bpoifdnbi/api/v1/serviceIntent/deploy": {
            "post": {
                "description": "",
                "operationId": "deployServiceIntent",
                "parameters": [
                    {
                        "description": "Service Deploy Input",
                        "in": "body",
                        "name": "(service-operation)input",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/(service-operation)input"
                        }
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "404": {
                        "description": "Service not Found"
                    },
                    "500": {
                        "description": "Internal system error"
                    }
                },
                "summary": "Deploys a Service to the network",
                "tags": [
                    "Service Deploy"
                ]
            }
        },
        "/bpoifdnbi/api/v1/serviceIntent/undeploy": {
            "post": {
                "description": "",
                "operationId": "undeployServiceIntent",
                "parameters": [
                    {
                        "description": "Service Undeploy Input",
                        "in": "body",
                        "name": "(service-operation)input",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/(service-operation)input"
                        }
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "404": {
                        "description": "Service not Found"
                    },
                    "500": {
                        "description": "Internal system error"
                    }
                },
                "summary": "Undeploys a Service from the network",
                "tags": [
                    "Service Undeploy"
                ]
            }
        },
        "/revell/api/v2/serviceTrails/{freId}": {
            "get": {
                "tags": [
                    "mcp-view v2"
                ],
                "summary": "Return Service Trail for a given FRE Id",
                "description": "",
                "operationId": "serviceTrailV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "startTpeId",
                        "in": "query",
                        "description": "Source Termination point Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endTpeId",
                        "in": "query",
                        "description": "Destination Termination point Identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "traversalScope",
                        "in": "query",
                        "description": "Traversal Scope. The allowed values are: TOPOLOGICAL, SERVICE, LAYER NAVIGATION, MULTI LAYER",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "floors",
                        "in": "query",
                        "description": "List of comma separated service class floors to be provided with the MULTI LAYER traversal scope. Separate composite paths will be provided separately for each floor if found",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "additionalFlags",
                        "in": "query",
                        "description": "List of comma separated flags to handle special scenarios. The allowed values are: ignoreRpl",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return Service Trail",
                        "schema": {
                            "$ref": "#/definitions/ServiceTrailResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error"
                    }
                }
            }
        },
        "/revell/api/v2/serviceTopology/{freId}": {
            "get": {
                "tags": [
                    "mcp-view v2"
                ],
                "summary": "Return Service Topology for a given FRE Id",
                "description": "",
                "operationId": "serviceTopologyV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "traversalScope",
                        "in": "query",
                        "description": "Traversal Scope. The allowed values are: TOPOLOGICAL, SERVICE, LAYER NAVIGATION, MULTI LAYER",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "floors",
                        "in": "query",
                        "description": "List of comma separated service class floors to be provided with the MULTI LAYER traversal scope. Separate composite paths will be provided separately for each floor if found",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return Service Topology",
                        "schema": {
                            "$ref": "#/definitions/ServiceTrailResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error"
                    }
                }
            }
        },
        "/revell/api/v2/serviceTopology/": {
            "post": {
                "tags": [
                    "mcp-view v2"
                ],
                "summary": "Returns a Service Trail",
                "description": "",
                "operationId": "pstServiceTrailV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE to generate trail",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JValue"
                        }
                    },
                    {
                        "name": "additionalFlags",
                        "in": "query",
                        "description": "List of comma separated flags to handle special scenarios. The allowed values are: ignoreRpl",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return Service Trail",
                        "schema": {
                            "$ref": "#/definitions/ServiceTrailResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error"
                    }
                }
            }
        },
        "/revell/api/v2/serviceTopology/topology/": {
            "post": {
                "tags": [
                    "mcp-view v2"
                ],
                "summary": "Returns a Service Topology",
                "description": "",
                "operationId": "pstServiceTopologyV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE to generate topology",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JValue"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return Service Topology",
                        "schema": {
                            "$ref": "#/definitions/ServiceTrailResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error"
                    }
                }
            }
        },
        "/revell/api/v2/simplePortTrail/{freId}": {
            "get": {
                "tags": [
                    "mcp-view v2"
                ],
                "summary": "Return Simple Port Trail a given FRE Id",
                "description": "",
                "operationId": "simplePortTrailV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return Port Trail",
                        "schema": {
                            "$ref": "#/definitions/SimplePortTrailResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error"
                    }
                }
            }
        },
        "/revell/api/v1/serviceTrails/{freId}": {
            "get": {
                "tags": [
                    "mcp-view v1"
                ],
                "summary": "Return Service Trail for a given FRE Id",
                "description": "",
                "operationId": "serviceTrailV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return Service Trail",
                        "schema": {
                            "$ref": "#/definitions/ServiceTrailResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error"
                    }
                }
            }
        },
        "/revell/api/v1/serviceTrails/": {
            "post": {
                "tags": [
                    "mcp-view v1"
                ],
                "summary": "Returns a Service Trail",
                "description": "",
                "operationId": "pstServiceTrailV1",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE to generate trail",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/JValue"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Return Service Trail",
                        "schema": {
                            "$ref": "#/definitions/ServiceTrailResponse"
                        }
                    },
                    "500": {
                        "description": "Internal server error"
                    }
                }
            }
        },
        "/tapi/core/context/connection/": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns deeppaging.connection.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.connection.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.connection.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/connectivity-context/connection/": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns tapi.connectivity.Connection",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.Connection",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.Connection"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-connectivity:connectivity-context/connection/": {
            "get": {
                "tags": [
                    "tapi-connectivity-core"
                ],
                "description": "returns tapi.connectivity.Connection",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.Connection",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.Connection"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/connectivity-context/connection={uuid}": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns tapi.connectivity.Connection",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of connection",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.Connection",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.Connection"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-connectivity:connectivity-context/connection={uuid}": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns tapi.connectivity.Connection",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of connection",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.Connection",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.Connection"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/connectivity-context/provisioning/connectivity-service/": {
            "post": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "creates tapi.connectivity.connectivitycontext.ConnectivityService (note: operation unavailable on standby servers)",
                "parameters": [
                    {
                        "in": "body",
                        "name": "tapi.connectivity.connectivitycontext.ConnectivityService.body-param",
                        "description": "tapi.connectivity.connectivitycontext.ConnectivityService to be added to list",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.connectivitycontext.ConnectivityService"
                        }
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "201": {
                        "description": "Object created"
                    },
                    "400": {
                        "description": "Internal error"
                    },
                    "409": {
                        "description": "Object already exists"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/context/connectivity-context/provisioning/connectivity-service={uuid}": {
            "delete": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "removes tapi.connectivity.connectivitycontext.ConnectivityService (note: operation unavailable on standby servers)",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of connectivity-service",
                        "required": true,
                        "type": "string"
                    }
                ],
                "produces": [
                    "text/plain"
                ],
                "responses": {
                    "204": {
                        "description": "Object deleted"
                    },
                    "400": {
                        "description": "Internal error"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "500": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/context/connectivity-context/provisioning/connectivity-service={uuid}/name": {
            "post": {
                "tags": [
                    "tapi-connectivity"
                ],
                "summary": "creates tapi.common.NameAndValue",
                "description": "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of connectivity-service",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tapi.common.NameAndValue.body-param",
                        "description": "tapi.common.NameAndValue to be added to list",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/tapi.common.NameAndValue"
                        }
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "201": {
                        "description": "Object created"
                    },
                    "400": {
                        "description": "Internal error"
                    },
                    "409": {
                        "description": "Object already exists"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}/name": {
            "post": {
                "tags": [
                    "tapi-connectivity"
                ],
                "summary": "creates tapi.common.NameAndValue",
                "description": "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of connectivity-service",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "tapi.common.NameAndValue.body-param",
                        "description": "tapi.common.NameAndValue to be added to list",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/tapi.common.NameAndValue"
                        }
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "201": {
                        "description": "Object created"
                    },
                    "400": {
                        "description": "Internal error"
                    },
                    "409": {
                        "description": "Object already exists"
                    }
                }
            }
        },
        "/tapi/core/context/connectivity-service/": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns deeppaging.connectivity-service.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.connectivity-service.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.connectivity-service.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/connectivity-context/connectivity-service/": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns tapi.connectivity.connectivitycontext.ConnectivityService",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.connectivitycontext.ConnectivityService",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.connectivitycontext.ConnectivityService"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service/": {
            "get": {
                "tags": [
                    "tapi-connectivity-core"
                ],
                "description": "returns tapi.connectivity.connectivitycontext.ConnectivityService",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.connectivitycontext.ConnectivityService",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.connectivitycontext.ConnectivityService"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            },
            "post": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "creates tapi.connectivity.connectivitycontext.ConnectivityService (note: operation unavailable on standby servers)",
                "parameters": [
                    {
                        "in": "body",
                        "name": "tapi.connectivity.connectivitycontext.ConnectivityService.body-param",
                        "description": "tapi.connectivity.connectivitycontext.ConnectivityService to be added to list",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.connectivitycontext.ConnectivityService"
                        }
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "201": {
                        "description": "Object created"
                    },
                    "400": {
                        "description": "Internal error"
                    },
                    "409": {
                        "description": "Object already exists"
                    }
                }
            }
        },
        "/tapi/data/context/oam-context/oam-job/": {
            "post": {
                "tags": [
                    "oam"
                ],
                "description": "creates tapi.oam.OamData",
                "parameters": [
                    {
                        "in": "body",
                        "name": "tapi.oam.Oam.body-param",
                        "description": "tapi.oam.Oam",
                        "schema": {
                            "$ref": "#/definitions/tapi.oam.Oam"
                        }
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "201": {
                        "description": "Object created"
                    },
                    "400": {
                        "description": "Internal error"
                    },
                    "409": {
                        "description": "Object already exists"
                    }
                }
            }
        },
        "/tapi/data/context/connectivity-context/connectivity-service={uuid}": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns tapi.connectivity.connectivitycontext.ConnectivityService",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of connectivity-service",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.connectivitycontext.ConnectivityService",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.connectivitycontext.ConnectivityService"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-connectivity:connectivity-context/connectivity-service={uuid}": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns tapi.connectivity.connectivitycontext.ConnectivityService",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of connectivity-service",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.connectivitycontext.ConnectivityService",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.connectivitycontext.ConnectivityService"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            },
            "delete": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "removes tapi.connectivity.connectivitycontext.ConnectivityService (note: operation unavailable on standby servers)",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of connectivity-service",
                        "required": true,
                        "type": "string"
                    }
                ],
                "produces": [
                    "text/plain"
                ],
                "responses": {
                    "204": {
                        "description": "Object deleted"
                    },
                    "400": {
                        "description": "Internal error"
                    },
                    "404": {
                        "description": "Not found"
                    },
                    "500": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/core/context/service-interface-point/": {
            "get": {
                "tags": [
                    "tapi-common"
                ],
                "description": "returns deeppaging.service-interface-point.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.service-interface-point.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.service-interface-point.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/service-interface-point/": {
            "get": {
                "tags": [
                    "tapi-common"
                ],
                "description": "returns tapi.common.context.ServiceInterfacePoint",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.common.context.ServiceInterfacePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.common.context.ServiceInterfacePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/service-interface-point/": {
            "get": {
                "tags": [
                    "tapi-common"
                ],
                "description": "returns tapi.common.context.ServiceInterfacePoint",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.common.context.ServiceInterfacePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.common.context.ServiceInterfacePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/service-interface-point={uuid}": {
            "get": {
                "tags": [
                    "tapi-common"
                ],
                "description": "returns tapi.common.context.ServiceInterfacePoint",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of service-interface-point",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.common.context.ServiceInterfacePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.common.context.ServiceInterfacePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/service-interface-point={uuid}": {
            "get": {
                "tags": [
                    "tapi-common"
                ],
                "description": "returns tapi.common.context.ServiceInterfacePoint",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of service-interface-point",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.common.context.ServiceInterfacePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.common.context.ServiceInterfacePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "summary": "returns tapi.topology.topologycontext.Topology",
                "description": "none",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "tapi.topology.TopologyInfo",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.TopologyInfo"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-topology:topology-context/topology/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "summary": "returns tapi.topology.topologycontext.Topology",
                "description": "none",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "tapi.topology.TopologyInfo",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.TopologyInfo"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "summary": "returns tapi.topology.topologycontext.Topology",
                "description": "none",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.topologycontext.Topology",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.topologycontext.TopologyWrapper"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-topology:topology-context/topology={uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "summary": "returns tapi.topology.topologycontext.Topology",
                "description": "none",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.topologycontext.Topology",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.topologycontext.TopologyWrapper"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/core/context/topology/mcp-base-topology/link/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns deeppaging.link.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.link.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.link.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/link/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.Link",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.Link",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.Link"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-topology:topology-context/topology={topology-uuid}/link/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.Link",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.Link",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.Link"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/link={link-uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.Link",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "link-uuid",
                        "in": "path",
                        "description": "Id of link",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.Link",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.Link"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-topology:topology-context/topology={topology-uuid}/link={link-uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.Link",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "link-uuid",
                        "in": "path",
                        "description": "Id of link",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.Link",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.Link"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/core/context/topology/mcp-base-topology/node/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns deeppaging.node.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.node.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.node.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/node/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.topology.Node",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.topology.Node",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.topology.Node"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-topology:topology-context/topology={topology-uuid}/node/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.topology.Node",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.topology.Node",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.topology.Node"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/node={node-uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.topology.Node",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "node-uuid",
                        "in": "path",
                        "description": "Id of node",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.topology.Node",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.topology.Node"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-topology:topology-context/topology={topology-uuid}/node={node-uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.topology.Node",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "node-uuid",
                        "in": "path",
                        "description": "Id of node",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.topology.Node",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.topology.Node"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/node={node-uuid}/owned-node-edge-point={owned-node-edge-point-uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.node.OwnedNodeEdgePoint",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "node-uuid",
                        "in": "path",
                        "description": "Id of node",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "owned-node-edge-point-uuid",
                        "in": "path",
                        "description": "Id of owned-node-edge-point",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.node.OwnedNodeEdgePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.node.OwnedNodeEdgePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/core/context/topology/mcp-base-topology/node-edge-point/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns deeppaging.node-edge-point.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.node-edge-point.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.node-edge-point.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/node-edge-point/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.connectivity.context.topologycontext.topology.node.ownednodeedgepoint.CepList",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.node.OwnedNodeEdgePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.node.OwnedNodeEdgePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-topology:topology-context/topology={topology-uuid}/node-edge-point/": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.connectivity.context.topologycontext.topology.node.ownednodeedgepoint.CepList",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.node.OwnedNodeEdgePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.node.OwnedNodeEdgePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/node-edge-point={node-edge-point-uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.node.OwnedNodeEdgePoint",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "node-edge-point-uuid",
                        "in": "path",
                        "description": "Id of node-edge-point",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.node.OwnedNodeEdgePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.node.OwnedNodeEdgePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-topology:topology-context/topology={topology-uuid}/node-edge-point={node-edge-point-uuid}": {
            "get": {
                "tags": [
                    "tapi-topology"
                ],
                "description": "returns tapi.topology.node.OwnedNodeEdgePoint",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "node-edge-point-uuid",
                        "in": "path",
                        "description": "Id of node-edge-point",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.topology.node.OwnedNodeEdgePoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.topology.node.OwnedNodeEdgePoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/core/context/topology/mcp-base-topology/connection-end-point/": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns deeppaging.connection-end-point.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.connection-end-point.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.connection-end-point.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/connection-end-point/": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns tapi.connectivity.context.topologycontext.topology.node.ownednodeedgepoint.CepList",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.context.topologycontext.topology.node.ownednodeedgepoint.CepList",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.context.topologycontext.topology.node.ownednodeedgepoint.CepList"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/topology-context/topology={topology-uuid}/connection-end-point={connection-end-point-uuid}": {
            "get": {
                "tags": [
                    "tapi-connectivity"
                ],
                "description": "returns tapi.connectivity.ceplist.ConnectionEndPoint",
                "parameters": [
                    {
                        "name": "topology-uuid",
                        "in": "path",
                        "description": "Id of topology",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "connection-end-point-uuid",
                        "in": "path",
                        "description": "Id of connection-end-point",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.connectivity.ceplist.ConnectionEndPoint",
                        "schema": {
                            "$ref": "#/definitions/tapi.connectivity.ceplist.ConnectionEndPoint"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/core/context/physical-context/device/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "description": "returns deeppaging.device.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.device.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.device.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/physical-span/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.PhysicalSpan",
                "description": "References the physical span in an equipment",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.PhysicalSpan",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.PhysicalSpan"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-equipment:physical-context/physical-span/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.PhysicalSpan",
                "description": "References the physical span in an equipment",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.PhysicalSpan",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.PhysicalSpan"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/physical-span={uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.PhysicalSpan",
                "description": "References the physical span in an equipment",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of physical span",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.PhysicalSpan",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.PhysicalSpan"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-equipment:physical-context/physical-span={uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.PhysicalSpan",
                "description": "References the physical span in an equipment",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of physical span",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.PhysicalSpan",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.PhysicalSpan"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/device/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Device",
                "description": "none",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Device",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Device"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-equipment:physical-context/device/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Device",
                "description": "none",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Device",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Device"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/device={uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Device",
                "description": "none",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of device",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Device",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Device"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-equipment:physical-context/device={uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Device",
                "description": "none",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of device",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Device",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Device"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/core/context/physical-context/equipment/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "description": "returns deeppaging.equipment.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.equipment.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.equipment.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/equipment/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Equipment",
                "description": "none",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Equipment",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Equipment"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-equipment:physical-context/equipment/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Equipment",
                "description": "none",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Equipment",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Equipment"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/equipment={equipment-uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Equipment",
                "description": "none",
                "parameters": [
                    {
                        "name": "equipment-uuid",
                        "in": "path",
                        "description": "Id of equipment",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Equipment",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Equipment"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-equipment:physical-context/equipment={equipment-uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Equipment",
                "description": "none",
                "parameters": [
                    {
                        "name": "equipment-uuid",
                        "in": "path",
                        "description": "Id of equipment",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Equipment",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Equipment"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/device={uuid}/equipment={equipment-uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Equipment",
                "description": "none",
                "parameters": [
                    {
                        "name": "uuid",
                        "in": "path",
                        "description": "Id of device",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "equipment-uuid",
                        "in": "path",
                        "description": "Id of equipment",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Equipment",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Equipment"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/core/context/physical-context/equipmentholder/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "description": "returns deeppaging.equipmentholder.Response",
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "description": "(Optional) Token for the page to return",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "100"
                    }
                ],
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "deeppaging.equipmentholder.Response",
                        "schema": {
                            "$ref": "#/definitions/deeppaging.equipmentholder.Response"
                        }
                    },
                    "400": {
                        "description": "Bad request in case of limit size exceeds max allowed"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/equipmentholder/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Holder",
                "description": "References the Holder in an Equipment that is available to take other Equipments.\r\n                For example:\r\n                - Slot in a sub-rack\r\n                - Slot in a Field Replaceable Unit that can take a small form-factor pluggable.",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Holder",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Holder"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-equipment:physical-context/equipmentholder/": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Holder",
                "description": "References the Holder in an Equipment that is available to take other Equipments.\r\n                For example:\r\n                - Slot in a sub-rack\r\n                - Slot in a Field Replaceable Unit that can take a small form-factor pluggable.",
                "parameters": [
                    {
                        "name": "page[number]",
                        "in": "query",
                        "description": "(Optional) The page to return",
                        "required": false,
                        "type": "integer",
                        "default": "0"
                    },
                    {
                        "name": "page[size]",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "integer",
                        "default": "10"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Holder",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Holder"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/physical-context/equipmentholder={equipmentholder-uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Holder",
                "description": "References the Holder in an Equipment that is available to take other Equipments.\r\n                For example:\r\n                - Slot in a sub-rack\r\n                - Slot in a Field Replaceable Unit that can take a small form-factor pluggable.",
                "parameters": [
                    {
                        "name": "equipmentholder-uuid",
                        "in": "path",
                        "description": "Id of contained-holder",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Holder",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Holder"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                },
                "deprecated": true
            }
        },
        "/tapi/data/tapi-common:context/tapi-equipment:physical-context/equipmentholder={equipmentholder-uuid}": {
            "get": {
                "tags": [
                    "tapi-equipment"
                ],
                "summary": "returns tapi.equipment.Holder",
                "description": "References the Holder in an Equipment that is available to take other Equipments.\r\n                For example:\r\n                - Slot in a sub-rack\r\n                - Slot in a Field Replaceable Unit that can take a small form-factor pluggable.",
                "parameters": [
                    {
                        "name": "equipmentholder-uuid",
                        "in": "path",
                        "description": "Id of contained-holder",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "tapi.equipment.Holder",
                        "schema": {
                            "$ref": "#/definitions/tapi.equipment.Holder"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/stream-context/available-stream/": {
            "get": {
                "tags": [
                    "tapi-streaming"
                ],
                "summary": "returns tapi.streaming.AvailableStream",
                "description": "none",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "tapi.streaming.AvailableStream",
                        "schema": {
                            "$ref": "#/definitions/tapi.streaming.AvailableStreamWrapper"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/tapi/data/context/stream-context/supported-stream-type/": {
            "get": {
                "tags": [
                    "tapi-streaming"
                ],
                "summary": "returns tapi.streaming.streamcontext.SupportedStreamType",
                "description": "none",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "tapi.streaming.streamcontext.SupportedStreamType",
                        "schema": {
                            "$ref": "#/definitions/tapi.streaming.streamcontext.SupportedStreamTypeWrapper"
                        }
                    },
                    "400": {
                        "description": "Internal error"
                    }
                }
            }
        },
        "/restconf/data/ietf-restconf-monitoring:restconf-state/capabilities/": {
            "get": {
                "tags": [
                    "tapi-restconf"
                ],
                "description": "return tapi.restconf.capabilities.Response",
                "responses": {
                    "200": {
                        "description": "tapi.restconf.capabilities.Response",
                        "schema": {
                            "$ref": "#/definitions/tapi.restconf.capabilities.Response"
                        }
                    },
                    "500": {
                        "description": "Internal Server Error"
                    }
                }
            }
        },
        "/nsi/api/fres": {
            "get": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "<p>LATEST VERSION: V6\n<p>At least one of the following parameters must be specified:<ul><li>tpeId<li>networkConstruct.id<li>freExpectations.serviceIntent.id<li>freExpectations.equipmentIntent.id<li>childFreId<li>endpoint.tpe.concrete<li>identifiers</ul>\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKeys=key1,key2,...&identifierValues=value1,value2,...\nFor instance:\n     ?identifierKey=nodalId&identifierValue=nodalIdValue",
                "operationId": "getFres",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "query",
                        "description": "TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "(Optional) FRE layer rates in comma separated list. Only applied when Network Construct identifier is provided. The allowed values are: ETHERNET, OTU2, OTU4, OTSi, OMS, OS, PHY, OTS, ODU2, ODU4, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET, CBR",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "The child FRE identifier to return its parents",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.intent.id",
                        "in": "query",
                        "description": "The intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "(Optional) FRE types in comma separated list. The allowed values are: explicitRoute, explicitRouteGroup, snc, sncGroup, cascadedExplicitRouteInstance, explicitRouteInstance, cascadedExplicitRoute",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exclude",
                        "in": "query",
                        "description": "(Optional) A single given type to be excluded used in conjunction with the `childFreId` parameter. The allowed values are: actual, expectation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, frePlanned, freDiscovered, srlgs, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Creates a FRE",
                "description": "<p>LATEST VERSION: V4<p>This REST API is intended to be used by service provisioning micro-service IFD only to create a FRE expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>layerRate, networkRole, directionality, topologySources, etc.<li>endpoint id relationships<li>network construct id relationship if the FRE is nodal<li>id relationship to other FREs if applicable<li>a list of FRE expectation id relationships<li>the endpoint content - specified in the included section<ul><li>role, directionality, etc.<li>tpe id relationships</ul><li>the FRE expectation content - specified in the included section<ul><li> validateParameters - Comma separated list of parameters (if any) to be validated against the expectation</ul></ul><p>Identifier keys and values cannot contain whitespace, square brackets, percent, nor plus signs.<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"-3117193564021298218\",\n    \"type\": \"fres\",\n    \"attributes\": {\n      \"userLabel\": \"drop4_OCH_planned\",\n      \"mgmtName\": \"service_1\",\n      \"layerRate\": \"OTSi\",\n      \"networkRole\": \"FREAP\",\n      \"directionality\": \"unidirectional\",\n      \"topologySources\": [\n        \"stitched\"\n      ]\n    },\n    \"relationships\": {\n      \"endPoints\": {\n        \"data\": [\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:1\"\n          },\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:2\"\n          }\n        ]\n      },\n      \"partitionFres\": {\n        \"data\": [\n          {\n            \"type\": \"fres\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::FRE_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_1-5-CTPServerToClient-1547.72_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_21-7-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"721516201499390732\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"6739849242751075618\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::FRE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_1-8-CTPServerToClient-1547.72_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_21-8-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"1808637606701600683\"\n          }\n        ]\n      },\n      \"freExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"freExpectations\",\n            \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"-3117193564021298218:1\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"a\",\n        \"directionality\": \"receive ingress\",\n        \"associations\": [\n           {\n               \"orderIndex\": 1,\n               \"routeType\": \"home\",\n               \"relationship\": \"tpes\"\n           }\n         ]\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218:2\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"z\",\n        \"directionality\": \"transmit egress\"\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\",\n      \"type\": \"freExpectations\",\n      \"attributes\": {\n        \"modelType\": \"controlPlane\",\n        \"userLabel\": \"userLabel1\",\n        \"layerRate\": \"OTSi\",\n        \"networkRole\": \"IFRE\",\n        \"directionality\": \"bidirectional\",\n        \"photonicSpectrumPackage\": {\n           \"frequency\": \"196.075000:196.125000\",\n           \"minFreq\": \"195.975000:196.025000\",\n           \"maxFreq\": \"195.775000:195.825000\"\n          },\n        \"validateParameters\": {\n          \"include\": \"layerRate\"\n        }\n       },\n      \"relationships\": {\n         \"endPoints\": {\n             \"data\": [\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"1\"\n                 },\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"2\"\n                 }\n             ]\n         },\n        \"networkConstruct\": {\n           \"data\": {\n              \"type\": \"networkConstructs\",\n              \"id\": \"ncId1\"\n           }\n        },\n        \"serviceIntent\": {\n          \"data\": {\n            \"type\": \"serviceIntents\",\n            \"id\": \"eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postFre",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "FRE and its expectation created successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}": {
            "get": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "<p>LATEST VERSION: V7",
                "operationId": "getFrebyId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts, controllers,srlgs, utilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Update a specific FRE",
                "description": "<p>LATEST VERSION: V4<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putFreById",
                "consumes": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "fre",
                        "description": "The new FRE data.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FRE has been updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to update FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "De-provision an FRE",
                "description": "LATEST VERSION: V3",
                "operationId": "unprovision",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The de-provisioning request was sent successfully"
                    },
                    "403": {
                        "description": "Forbidden to delete specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Performs update operations on an FRE resource",
                "description": "<p>LATEST VERSION: V4<p>Upon request accepted, code 202 is returned and the output consists of JSON objects representing current fre resource.<p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"note\" : {\n                   \"noteMsg\" : \"This is an updated message on an Fre\",\n                   \"lastUpdatedBy\" : \"userName\"\n               },\n               \"customerName\" : \"This is the customer name on an Fre\"\n,               \"lqsData\" : {\n                   \"status\" : \"good\",\n                   \"margin\" : {\n                       \"minMargin\" : -1.0,\n                       \"upgrMargin\" : -1.0,\n                       \"sdMargin\" : -1.0,\n                       \"valid\" : true,\n                       \"viableAtEol\" : \"exceeded\"\n                   },\n                   \"fiber\" : {\n                       \"measuredLoss\" : -1.0,\n                       \"modeledLoss\" : -1.0,\n                       \"deltaLoss\" : -1.0,\n                       \"modeledMargin\" : -1.0,\n                       \"method\" : \"osc\",\n                       \"reconciled\" : true\n                   }\n               }\n            }\n        }\n    ]\n}\n</code></pre><p>Example replace request to override a ROADMLine's utilization total capacity:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"path\": \"data/attributes/utilizationData/overrideTotalCapacity\",\n      \"attributes\": {\n        \"utilizationData\": {\n          \"overrideTotalCapacity\": \"4.400\"\n        }\n      }\n    }\n  ]\n}</code></pre><p>Example replace request to set an SNC refresh state:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"path\": \"data/attributes/serviceRefresh\",\n      \"attributes\": {\n        \"serviceRefresh\": {\n          \"state\": \"Pending\"\n        }\n      }\n    }\n  ]\n}</code></pre><p>Example delete request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"note\"\n        }\n    ]\n}\n</code></pre><p>Example delete request FRE utilization total capacity override value:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"path\": \"data/attributes/utilizationData/overrideTotalCapacity\"\n        }\n    ]\n}</code></pre><p>Example delete request SNC refresh state:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"path\": \"data/attributes/serviceRefresh\"\n        }\n    ]\n}</code></pre>Doing a replace on srlg with an empty list will delete the srlg attribute\n",
                "operationId": "patchOperation",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The id of the fre to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given fre.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FrePatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/adminState": {
            "put": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Set the AdminState of an FRE",
                "description": "LATEST VERSION: V3",
                "operationId": "putFreAdminState",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "adminStateValue",
                        "description": "The desired adminState value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The AdminState was changed successfully"
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/bookingData/{bookingDataKey}": {
            "put": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Create or update a bookingData attribute on a specified FRE",
                "description": "<ul><li>Any leading or trailing whitespace will be trimmed from the bookingData<li>LATEST VERSION: V2_0<li>assignedBandwidth and assignedBandwidthUnit is not valid on an ETHERNET LLDP Link FRE_AP",
                "operationId": "putFreBookingData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "bookingDataKey",
                        "in": "path",
                        "description": "bookingData attribute name (and allowable values):<ul><li>assignedBandwidth (positive number)<li>assignedBandwidthUnit (mpbs, kbps, or gbps)<li>bandwidthLockout (true, false)<li>bookingFactor (positive number to one decimal place, like 1.0)</ul>",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "bookingDataValue",
                        "description": "The desired bookingData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FRE bookingData attribute created/updated",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to modify bookingData on FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Delete a bookingData attribute from an FRE",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "deleteFreBookingData",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "bookingDataKey",
                        "in": "path",
                        "description": "bookingData attribute to delete:<ul><li>assignedBandwidth<li>assignedBandwidthUnit<li>bandwidthLockout<li>bookingFactor</ul>",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The specified bookingData attribute does not exist in FRE."
                    },
                    "204": {
                        "description": "Deleted FRE bookingData successfully."
                    },
                    "400": {
                        "description": "Invalid parameters specified.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete FRE bookingData attribute",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/expectationMismatches": {
            "get": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Retrieves expectation mismatches, if any, for the specified FRE ID",
                "description": "<p>LATEST VERSION: V4<p>Mismatch for each FRE in the FRE subtree are returned",
                "operationId": "getFreExpectationMismatches",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/expectations": {
            "post": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Post an FRE Expectation given the FRE id",
                "description": "<p>LATEST VERSION: V3<p>This REST API is intended to be used by service provisioning micro-service IFD only to create or update an FRE expectation on existing FRE.<p>The following attributes and relationships should be specified in the post request:<ul><li>layerRate, networkRole, directionality, topologySources, etc.<li>endpoint id relationships<li>network construct id relationship if the FRE is nodal<li>id relationship to other FREs if applicable<li>a list of FRE expectation id relationships<li>the endpoint content - specified in the included section<ul><li>role, directionality, etc.<li>tpe id relationships</ul><li>the FRE expectation content - specified in the included section<ul><li>service intent id relationship</ul></ul><p>Identifier keys and values cannot contain whitespace, square brackets, percent, nor plus signs.<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"SNCG(2)-57f3cccb-6918-4ce1-949f-0dff34a8a501\",\n    \"type\": \"freExpectations\",\n    \"attributes\": {\n      \"directionality\": \"bidirectional\",\n      \"userLabel\": \"BP SNCG\",\n      \"networkRole\": \"IFRE\",\n      \"layerRate\": \"OMS\",\n      \"modelType\": \"controlPlane\",\n      \"freType\": \"sncGroup\",\n      \"routingConstraints\": {\n        \"isRouteExclusive\": \"true\",\n        \"identifier\": \"c807e13a-6ec6-48c4-a4cd-38afe40fdd39\"\n      }\n    },\n    \"relationships\": {\n      \"serviceIntent\": {\n        \"data\": {\n          \"type\": \"serviceIntents\",\n          \"id\": \"57f3cccb-6918-4ce1-949f-0dff34a8a501\"\n        }\n      },\n      \"endPoints\": {\n        \"data\": [\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"1\"\n          },\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"2\"\n          }\n        ]\n      },\n      \"networkConstruct\": {\n        \"data\": {\n          \"type\": \"networkConstructs\",\n          \"id\": \"2452f453-fb13-4ebb-bee5-d32ac520611c\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"1\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"a\",\n        \"associations\": [\n          {\n            \"relationship\": \"networkConstructs\",\n            \"identifier\": {\n              \"osrpNodeName\": \"PV0037FGD\"\n            }\n          }\n        ]\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"2\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"z\",\n        \"associations\": [\n          {\n            \"relationship\": \"networkConstructs\",\n            \"identifier\": {\n              \"osrpNodeName\": \"PV0037FGA\"\n            }\n          }\n        ]\n      },\n      \"relationships\": {}\n    }\n  ]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postFREExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an FRE expectation",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing FRE expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "201": {
                        "description": "FRE expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/expectations/{expectationId}/realize": {
            "post": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Perform a provision operation on a FRE",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "provisionOperations",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "FreExpectation to realize",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request to provision was sent successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Provisioning request failed against FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/expectations/{freExpId}": {
            "patch": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Update attributes on an expectation on the FRE by specific FRE ID and FRE Expectation ID ",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current fre resource.</code></pre><p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"srlg\" : [\"srlg1\", \"srlg2\"]\n            }\n        }\n    ]\n}\n</code></pre>",
                "operationId": "patchFreExpectation",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The id of the fre to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "freExpId",
                        "in": "path",
                        "description": "The id of the freExpectation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given fre.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FrePatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/FreExpectationRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/freExpectations": {
            "get": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Retrieve FRE Expectations with freId",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getFreExpectation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get FRE Expectations with given id successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find FRE Expectations for the FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to get FRE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/freExpectations/{freExpectationId}": {
            "get": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Retrieve FRE Expectations with freId and expectationId",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "getFreExpectationWithExpId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "freExpectationId",
                        "in": "path",
                        "description": "FRE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get FRE Expectations with given id successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find FRE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to get FRE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Delete a FRE Expectaion given the fre id and expectation id",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteFreExpectationById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "freExpectationId",
                        "in": "path",
                        "description": "FRE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted FRE Expectation successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete FRE Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/frePlanned": {
            "get": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Retrieves the planned FRE by specific FRE ID",
                "description": "<p>LATEST VERSION: V4<p>When using the include parameter, resources will also be retrieved from the expectation if 'expectations' is one of the include parameters.",
                "operationId": "getPlannedAttributesFrebyId",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, equipment",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Creates and updates a planned FRE",
                "description": "<p>LATEST VERSION: V4<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putFrePlanned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Planned FRE to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Planned FRE created/updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create a planned FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Update attributes on the planned FRE by specific FRE ID ",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current fre resource.<p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"userLabel\" : \"newLabel\",\n               \"description\" : \"This is the description on an Fre\"\n,            }\n        }\n    ]\n}\n</code></pre><p>Example delete request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"userLabel\"\n        }\n    ]\n}\n</code></pre><p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre>",
                "operationId": "patchPlannedFre",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The id of the fre to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given fre.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FrePatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/identifiers": {
            "put": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Post an FRE Identifier to a given FRE",
                "description": "LATEST VERSION: V3<p>Identifier keys and values cannot contain whitespace, square brackets, percent, nor plus signs<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateFreIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The FRE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Fre identifier have been created on the server",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created a new FRE identifier for the given FRE",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Deletes the FRE identifier from a given FRE",
                "description": "<p>LATEST VERSION: V3",
                "operationId": "deleteFreIdentifier",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The FRE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successfully deleted the FRE identifier"
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/operations/{operation}": {
            "put": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "execute FRE Operation on NE",
                "description": "",
                "operationId": "putFreOperationV6",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operation",
                        "in": "path",
                        "description": "FRE operation",
                        "required": true,
                        "type": "string",
                        "enum": [
                            "revert",
                            "regroom",
                            "makeCurrentToHome",
                            "addProtection",
                            "removeProtection",
                            "resize",
                            "updateHomePreemptionLevel",
                            "updateRestorationPreemptionLevel"
                        ]
                    },
                    {
                        "in": "body",
                        "name": "ProvisioningAttributes",
                        "description": "The desired fre operation",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ProvisioningAttributesRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The FRE Operation was executed successfully"
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Create or update a userData attribute on an FRE",
                "description": "<p>LATEST VERSION: V2_0<p>Any leading or trailing whitespace will be trimmed from userData.<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putFreUserData",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of userData to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "userDataValue",
                        "description": "The desired userData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FRE userData attribute created/updated",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to modify userData on FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Delete a userData attribute from an FRE",
                "description": "<p>LATEST VERSION: V2_0",
                "operationId": "deleteFreUserData",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of userData to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The specified userData attribute does not exist in FRE."
                    },
                    "204": {
                        "description": "Deleted FRE userData attribute successfully."
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete FRE userData attribute"
                    }
                }
            }
        },
        "/nsi/api/fres/{freId}/validationExpectation": {
            "put": {
                "tags": [
                    "000 - nsiapifres"
                ],
                "summary": "Creates or updates FRE validation expectation for a deployed/discovered FRE",
                "description": "<p>LATEST VERSION: V3<p>This REST API is intended to be used by service provisioning micro-service IFD only to create or update a FRE validation expectation. On initial creation, FRE expectations can be specified and created as well, on update, only the FRE validation expectation can be updated<p>The following attributes and relationships should be specified in the post request for initial creation:<ul><li>layerRate, networkRole, directionality, topologySources, etc.<li>endpoint id relationships<li>network construct id relationship if the FRE is nodal<li>id relationship to other FREs if applicable<li>a list of FRE expectation id relationships<li>the endpoint content - specified in the included section<ul><li>role, directionality, etc.<li>tpe id relationships</ul><li>the FRE expectation content - specified in the included section<ul><li> validateParameters - Comma separated list of parameters (if any) to be validated against the expectation</ul></ul><p>Identifier keys and values cannot contain whitespace, square brackets, percent, nor plus signs.<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"-3117193564021298218\",\n    \"type\": \"fres\",\n    \"attributes\": {\n      \"userLabel\": \"drop4_OCH_planned\",\n      \"mgmtName\": \"service_1\",\n      \"layerRate\": \"OTSi\",\n      \"networkRole\": \"FREAP\",\n      \"directionality\": \"unidirectional\",\n      \"topologySources\": [\n        \"stitched\"\n      ],\n      \"additionalAttributes\": {\n        \"isActual\": \"false\"\n      }\n    },\n    \"relationships\": {\n      \"endPoints\": {\n        \"data\": [\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:1\"\n          },\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:2\"\n          }\n        ]\n      },\n      \"partitionFres\": {\n        \"data\": [\n          {\n            \"type\": \"fres\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::FRE_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_1-5-CTPServerToClient-1547.72_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_21-7-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"721516201499390732\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"6739849242751075618\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::FRE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_1-8-CTPServerToClient-1547.72_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_21-8-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"1808637606701600683\"\n          }\n        ]\n      },\n      \"freExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"freExpectations\",\n            \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"-3117193564021298218:1\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"a\",\n        \"directionality\": \"receive ingress\",\n        \"associations\": [\n           {\n             \"orderIndex\": 1,             \"routeType\": \"home\",             \"relationship\": \"tpes\"           }\n         ]\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218:2\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"z\",\n        \"directionality\": \"transmit egress\"\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\",\n      \"type\": \"freExpectations\",\n      \"attributes\": {\n        \"modelType\": \"controlPlane\",\n        \"userLabel\": \"userLabel1\",\n        \"layerRate\": \"OTSi\",\n        \"networkRole\": \"IFRE\",\n        \"directionality\": \"bidirectional\",\n        \"photonicSpectrumPackage\": {\n           \"frequency\": \"196.075000:196.125000\",\n           \"minFreq\": \"195.975000:196.025000\",\n           \"maxFreq\": \"195.775000:195.825000\"\n          },\n        \"validateParameters\": {\n          \"include\": \"layerRate\"\n        }\n       },\n      \"relationships\": {\n         \"endPoints\": {\n             \"data\": [\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"1\"\n                 },\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"2\"\n                 }\n             ]\n         },\n        \"networkConstruct\": {\n           \"data\": {\n              \"type\": \"networkConstructs\",\n              \"id\": \"ncId1\"\n           }\n        },\n        \"serviceIntent\": {\n          \"data\": {\n            \"type\": \"serviceIntents\",\n            \"id\": \"eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre>",
                "operationId": "postFreValidationExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "validation FRE and its expectations created successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/fres": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Retrieve FRE satisfying the provided parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>tpeId<li>networkConstruct.id<li>ncId (Deprecated)<li>group<li>freExpectations.serviceIntent.id<li>freExpectations.equipmentIntent.id<li>childFreId<li>endpoint.tpe.concrete<li>identifiers (Deprecated)<li>identifierKey & identifierValue</ul>\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKeys=key1,key2,...&identifierValues=value1,value2,...\nFor instance:\n     ?identifierKey=ossLabel&identifierValue=ossLabel\nNote: In place of a blank space you can also use + or %20",
                "operationId": "getFre",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "query",
                        "description": "TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Deprecated) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "FRE types in comma separated list. The allowed values are: service, link, roadmline-ap, roadmline",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "description": "FRE group :<ul><li>dwa for all FREs in OTU4 and all top level FREs in ETHERNET, DSR, DSR_ETHERNET, OTSi(OCH), ODU2, ODU4<li>infrastructure for all FRE-APs representing forwarding constructs between ROADM OTS'<li>packet for all L2 nodal and top level FREs in ETHERNET including infrastructure</ul>",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "dwa",
                            "infrastructure",
                            "packet",
                            "packet_infrastructure",
                            "tdm"
                        ]
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "FRE layer rates in comma separated list The allowed values are: ETHERNET, OTU2, OTU4, OTSi, OMS, OS, PHY, OTS, ODU2, ODU4, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "FRE types in comma separated list The allowed values are: explicitRoute, explicitRouteGroup, snc, sncGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "userLabel",
                        "in": "query",
                        "description": "User label",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "managementName",
                        "in": "query",
                        "description": "Management Name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "(Optional) The child FRE identifier to return its parents",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exclude",
                        "in": "query",
                        "description": "(Optional) The given type would be excluded from get parents call, only combine with childFreId",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "actual",
                            "expectation"
                        ]
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) Find roadmlines by srlg values separated by comma. A roadmline is a FRE between two SAM cards.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeMetaData",
                        "in": "query",
                        "description": "MetaData to be included. The allowed values are: layerRate",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifer object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "directionality",
                        "in": "query",
                        "description": "(Optional) Indicates if unidirectional or bidirectional FREs should be returned",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "unidirectional",
                            "bidirectional"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Creates or updates a FRE",
                "description": "This REST API is intended to be used by service provisioning micro-service IFD only to create or update a FRE expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>layerRate, networkRole, directionality, topologySources, etc.<li>endpoint id relationships<li>network construct id relationship if the FRE is nodal<li>id relationship to other FREs if applicable<li>a list of FRE expectation id relationships<li>the endpoint content - specified in the included section<ul><li>role, directionality, etc.<li>tpe id relationships</ul><li>the FRE expectation content - specified in the included section<ul><li>service intent id relationship</ul></ul><p>Identifier keys and values cannot contain whitespace, square brackets, percent, nor plus signs.<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"-3117193564021298218\",\n    \"type\": \"fres\",\n    \"attributes\": {\n      \"userLabel\": \"drop4_OCH_planned\",\n      \"mgmtName\": \"service_1\",\n      \"layerRate\": \"OTSi\",\n      \"networkRole\": \"FREAP\",\n      \"directionality\": \"unidirectional\",\n      \"topologySources\": [\n        \"stitched\"\n      ],\n      \"additionalAttributes\": {\n        \"isActual\": \"false\"\n      }\n    },\n    \"relationships\": {\n      \"endPoints\": {\n        \"data\": [\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:1\"\n          },\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:2\"\n          }\n        ]\n      },\n      \"partitionFres\": {\n        \"data\": [\n          {\n            \"type\": \"fres\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::FRE_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_1-5-CTPServerToClient-1547.72_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_21-7-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"721516201499390732\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"6739849242751075618\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::FRE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_1-8-CTPServerToClient-1547.72_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_21-8-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"1808637606701600683\"\n          }\n        ]\n      },\n      \"freExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"freExpectations\",\n            \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"-3117193564021298218:1\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"a\",\n        \"directionality\": \"receive ingress\",\n        \"associations\": [\n           {\n             \"orderIndex\": 1,             \"routeType\": \"home\",             \"relationship\": \"tpes\"           }\n         ]\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218:2\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"z\",\n        \"directionality\": \"transmit egress\"\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\",\n      \"type\": \"freExpectations\",\n      \"attributes\": {\n        \"modelType\": \"controlPlane\",\n        \"userLabel\": \"userLabel1\",\n        \"layerRate\": \"OTSi\",\n        \"networkRole\": \"IFRE\",\n        \"directionality\": \"bidirectional\",\n        \"photonicSpectrumPackage\": {\n           \"frequency\": \"196.075000:196.125000\",\n           \"minFreq\": \"195.975000:196.025000\",\n           \"maxFreq\": \"195.775000:195.825000\"\n          }\n       },\n      \"relationships\": {\n         \"endPoints\": {\n             \"data\": [\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"1\"\n                 },\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"2\"\n                 }\n             ]\n         },\n        \"networkConstruct\": {\n           \"data\": {\n              \"type\": \"networkConstructs\",\n              \"id\": \"ncId1\"\n           }\n        },\n        \"serviceIntent\": {\n          \"data\": {\n            \"type\": \"serviceIntents\",\n            \"id\": \"eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre>",
                "operationId": "postFreV2",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "FRE and its expectation created successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v2_0/fres/{freId}/bookingData/{bookingDataKey}": {
            "put": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Create or update a bookingData attribute on a specified FRE",
                "description": "<ul><li>Any leading or trailing whitespace will be trimmed from the bookingData<li>assignedBandwidth and assignedBandwidthUnit is not valid on an ETHERNET LLDP Link FRE_AP",
                "operationId": "putFreBookingDataV2",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "bookingDataKey",
                        "in": "path",
                        "description": "bookingData attribute name (and allowable values):<ul><li>assignedBandwidth (positive number)<li>assignedBandwidthUnit (mpbs, kbps, or gbps)<li>bandwidthLockout (true, false)<li>bookingFactor (positive number to one decimal place, like 1.0)</ul>",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "bookingDataValue",
                        "description": "The desired bookingData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FRE bookingData attribute created/updated",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to modify bookingData on FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Delete a bookingData attribute from an FRE",
                "description": "",
                "operationId": "deleteFreBookingDataV2",
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "bookingDataKey",
                        "in": "path",
                        "description": "bookingData attribute to delete:<ul><li>assignedBandwidth<li>assignedBandwidthUnit<li>bandwidthLockout<li>bookingFactor</ul>",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The specified bookingData attribute does not exist in FRE."
                    },
                    "204": {
                        "description": "Deleted FRE bookingData successfully."
                    },
                    "400": {
                        "description": "Invalid parameters specified.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete FRE bookingData attribute",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/fres/{freId}/freExpectations": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Retrieve FRE Expectations with freId",
                "description": "",
                "operationId": "getFreExpectationV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get FRE Expectations with given id successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find FRE Expectations for the FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to get FRE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v2_0/fres/{freId}/freExpectations/{freExpectationId}": {
            "get": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Retrieve FRE Expectations with freId and expectationId",
                "description": "",
                "operationId": "getFreExpectationWithExpIdV2",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "freExpectationId",
                        "in": "path",
                        "description": "FRE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Get FRE Expectations with given id successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreExpectationRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find FRE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to get FRE Expectation with id.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Delete a FRE Expectaion given the fre id and expectation id",
                "description": "",
                "operationId": "deleteFreExpectationByIdV2",
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "freExpectationId",
                        "in": "path",
                        "description": "FRE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted FRE Expectation successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete FRE Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v2_0/fres/{freId}/provisioningOperations": {
            "post": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Perform a provision operation on a FRE(Deprecated)",
                "description": "Triggers a provisioning operation.  <p> Supports operation values of: <p>&nbsp;&nbsp; 'update',<p> &nbsp;&nbsp;   'delete'<p> If operation is 'delete' all other properties will be ignored. <p> If operation is 'update' the state property is required.  Valid state values are: <p>&nbsp;&nbsp;   'IS',<p> &nbsp;&nbsp;   'OOS',<p> &nbsp;&nbsp;  'OOS_AUMA<p> Here is an example request:<pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"-3117193564021298218::FRE_PO_1\",\n    \"attributes\": {\n      \"id\": \"-3117193564021298218\",\n      \"operation\": \"delete\"\n    }\n  }\n}</code></pre>",
                "operationId": "provisionOperationsV2",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FreProvisioningOperation to execute",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FreProvisioningOperationRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Request to provision FRE successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Provisioning request failed against FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v2_0/fres/{freId}/userData/{userDataKey}": {
            "put": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Create or update a userData attribute on an FRE",
                "description": "Any leading or trailing whitespace will be trimmed from userData.",
                "operationId": "putFreUserDataV2",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "Key of userData to update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "userDataValue",
                        "description": "The desired userData value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FRE userData attribute created/updated",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters specified",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to modify userData on FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Delete a userData attribute from an FRE",
                "description": "",
                "operationId": "deleteFreUserDataV2",
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "userDataKey",
                        "in": "path",
                        "description": "userData attribute name to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The specified userData attribute does not exist in FRE."
                    },
                    "204": {
                        "description": "Deleted FRE userData attribute successfully."
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to delete FRE userData attribute"
                    }
                }
            }
        },
        "/nsi/api/v2_0/fres/{id}/identifiers/{identifierKey}": {
            "put": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Post an FRE Identifier to a given FRE",
                "description": "Identifier keys and values cannot contain square brackets, percent, nor plus signs.<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateFreIdentifiers",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the FRE under which to create or update the identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to create or update",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "identifier",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FRE identifier created on the server",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "998 - nsiapiv2_0fres"
                ],
                "summary": "Delete an Identifier from a given identifier",
                "description": "Identifier keys cannot contain whitespace, square brackets, percent, nor plus signs",
                "operationId": "deleteFreIdentifiers",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "description": "Identifier of the FRE whose identifier is to be deleted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "path",
                        "description": "Key of the identifier to delete",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Deleted FRE identifier successfully."
                    },
                    "404": {
                        "description": "The specified FRE or identifier does not exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to delete FRE identifier.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/fres": {
            "get": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>tpeId<li>networkConstruct.id<li>group<li>freExpectations.serviceIntent.id<li>freExpectations.equipmentIntent.id<li>childFreId<li>endpoint.tpe.concrete<li>identifiers</ul>\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKeys=key1,key2,...&identifierValues=value1,value2,...\nFor instance:\n     ?identifierKey=ossLabel&identifierValue=ossLabel",
                "operationId": "getFresV3",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "query",
                        "description": "TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "description": "FRE group :<ul><li>dwa for all FREs in OTU4 and all top level FREs in ETHERNET, DSR, DSR_ETHERNET, OTSi(OCH), ODU2, ODU4<li>infrastructure for all FRE-APs representing forwarding constructs between ROADM OTS'<li>packet for all L2 nodal and top level FREs in ETHERNET including infrastructure</ul>",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "dwa",
                            "infrastructure",
                            "packet"
                        ]
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "The child FRE identifier to return its parents",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifer object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "(Optional) FRE types in comma separated list. The allowed values are: service, link, roadmline-ap, roadmline",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, planned (roadmlines), frePlanned, freDiscovered, srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "(Optional) FRE layer rates in comma separated list. The allowed values are: ETHERNET, OTU2, OTU4, OTSi, OMS, OS, PHY, OTS, ODU2, ODU4, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "(Optional) FRE types in comma separated list. The allowed values are: explicitRoute, explicitRouteGroup, snc, sncGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "userLabel",
                        "in": "query",
                        "description": "(Optional) User label",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "managementName",
                        "in": "query",
                        "description": "(Optional) Management Name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exclude",
                        "in": "query",
                        "description": "(Optional) The given type would be excluded from get parents call, only combine with childFreId",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "actual",
                            "expectation"
                        ]
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) Find roadmlines by srlg values separated by comma. A roadmline is a FRE between two SAM cards.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeMetaData",
                        "in": "query",
                        "description": "(Optional) MetaData to be included. The allowed values are: layerRate",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/fres/deploymentState": {
            "put": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Set the deploymentState of FREs of the specified intent or children FREs of the specified top-level FRE ID",
                "description": "<p>One of the following parameters must be specified:<ul><li>freExpectations.serviceIntent.id<li>top-level freId</ul>",
                "operationId": "putFreDeploymentState",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "The service intent Id. Mutually exclusive with freId",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "Top-level FRE Identifier. Mutually exclusive with freExpectations.serviceIntent.id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "deploymentStateValue",
                        "description": "The desired deployment state value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The DeploymentState was changed successfully"
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "404": {
                        "description": "There are no FREs for the specified intent ID or top-level fre ID",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/fres/{freId}": {
            "get": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "",
                "operationId": "getFreById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "De-provision an actul FRE or  delete a root FRE",
                "description": "",
                "operationId": "unprovisionV3",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The de-provisioning request was sent or FRE is deleted successfully."
                    },
                    "204": {
                        "description": "FRE does not exist."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to delete specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/fres/{freId}/adminState": {
            "put": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Set the AdminState of an FRE",
                "description": "",
                "operationId": "putFreAdminStateV3",
                "consumes": [
                    "text/plain"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "adminStateValue",
                        "description": "The desired adminState value",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The AdminState was changed successfully"
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/fres/{freId}/discovered/validate": {
            "post": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": " Validate discovered FRE(s) against planned FRE(s) hierarchy for a parent FRE resource identified by FRE ID",
                "description": "The validation is hierarchical and includes  all children (decomposed or partitioned) FREs in the tree of the specified parent FRE",
                "operationId": "validateDiscoveredAgainstPlanned",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Validation was performed successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Provisioning request failed against FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/fres/{freId}/expectations": {
            "post": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Post an FRE Expectation given the FRE id",
                "description": "<p>This REST API is intended to be used by service provisioning micro-service IFD only to create or update an FRE expectation on existing FRE.<p>The following attributes and relationships should be specified in the post request:<ul><li>layerRate, networkRole, directionality, topologySources, etc.<li>endpoint id relationships<li>network construct id relationship if the FRE is nodal<li>id relationship to other FREs if applicable<li>a list of FRE expectation id relationships<li>the endpoint content - specified in the included section<ul><li>role, directionality, etc.<li>tpe id relationships</ul><li>the FRE expectation content - specified in the included section<ul><li>service intent id relationship</ul></ul><p>Identifier keys and values cannot contain whitespace, square brackets, percent, nor plus signs.<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"SNCG(2)-57f3cccb-6918-4ce1-949f-0dff34a8a501\",\n    \"type\": \"freExpectations\",\n    \"attributes\": {\n      \"directionality\": \"bidirectional\",\n      \"userLabel\": \"BP SNCG\",\n      \"networkRole\": \"IFRE\",\n      \"layerRate\": \"OMS\",\n      \"modelType\": \"controlPlane\",\n      \"freType\": \"sncGroup\",\n      \"routingConstraints\": {\n        \"isRouteExclusive\": \"true\",\n        \"identifier\": \"c807e13a-6ec6-48c4-a4cd-38afe40fdd39\"\n      }\n    },\n    \"relationships\": {\n      \"serviceIntent\": {\n        \"data\": {\n          \"type\": \"serviceIntents\",\n          \"id\": \"57f3cccb-6918-4ce1-949f-0dff34a8a501\"\n        }\n      },\n      \"endPoints\": {\n        \"data\": [\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"1\"\n          },\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"2\"\n          }\n        ]\n      },\n      \"networkConstruct\": {\n        \"data\": {\n          \"type\": \"networkConstructs\",\n          \"id\": \"2452f453-fb13-4ebb-bee5-d32ac520611c\"\n        }\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"1\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"a\",\n        \"associations\": [\n          {\n            \"relationship\": \"networkConstructs\",\n            \"identifier\": {\n              \"osrpNodeName\": \"PV0037FGD\"\n            }\n          }\n        ]\n      },\n      \"relationships\": {}\n    },\n    {\n      \"id\": \"2\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"z\",\n        \"associations\": [\n          {\n            \"relationship\": \"networkConstructs\",\n            \"identifier\": {\n              \"osrpNodeName\": \"PV0037FGA\"\n            }\n          }\n        ]\n      },\n      \"relationships\": {}\n    }\n  ]\n}\n</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postFREExpectationV3",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE under which to create the expectation",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request to create an FRE expectation",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreExpectationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "An existing FRE expectation have been updated on the server",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "201": {
                        "description": "FRE expectation has been created on the server",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad or invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/fres/{freId}/expectations/{expectationId}/realize": {
            "post": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Perform a provision operation on a FRE",
                "description": "If FRE is not realized, it will trigger a create provisioning operation, otherwise it will trigger a update provisioning operation to change the current discovered data.",
                "operationId": "provisionOperationsV3",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "expectationId",
                        "in": "path",
                        "description": "FreExpectation to realize",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request to provision was sent successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Provisioning request failed against FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/fres/{freId}/freExpectations/{freExpectationId}": {
            "delete": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Delete a FRE Expectaion given the fre id and expectation id",
                "description": "",
                "operationId": "deleteFreExpectationByIdV3",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "freExpectationId",
                        "in": "path",
                        "description": "FRE expectation identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Deleted FRE Expectation successfully."
                    },
                    "204": {
                        "description": "FRE Expectation does not exist."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "FRE does not exist."
                    },
                    "500": {
                        "description": "Failed to delete FRE Expectation.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/fres/{freId}/identifiers": {
            "put": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Posts or updates a FRE identifier to a given FRE",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "updateFreIdentifierV3",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The FRE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated the FRE identifier for a given FRE",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "201": {
                        "description": "Successfully created a new FRE identifier for the given FRE",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Deletes the FRE identifier from a given FRE",
                "description": "",
                "operationId": "deleteFreIdentifierV3",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The FRE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "identifierRO",
                        "description": "The identifier JSON object",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/IdentifierRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Unsuccessfully deleted the FRE identifier"
                    },
                    "204": {
                        "description": "Successfully deleted the FRE identifier"
                    },
                    "400": {
                        "description": "Bad parameters were passed, please check the identifier object for errors",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist or their was error processing information",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/fres/{freId}/validationExpectation": {
            "put": {
                "tags": [
                    "997 - nsiapiv3fres"
                ],
                "summary": "Creates or updates FRE validation expectation for a deployed/discovered FRE",
                "description": "This REST API is intended to be used by service provisioning micro-service IFD only to create or update a FRE validation expectation. On initial creation, FRE expectations can be specified and created as well, on update, only the FRE validation expectation can be updated<p>The following attributes and relationships should be specified in the post request for initial creation:<ul><li>layerRate, networkRole, directionality, topologySources, etc.<li>endpoint id relationships<li>network construct id relationship if the FRE is nodal<li>id relationship to other FREs if applicable<li>a list of FRE expectation id relationships<li>the endpoint content - specified in the included section<ul><li>role, directionality, etc.<li>tpe id relationships</ul><li>the FRE expectation content - specified in the included section<ul><li> validateParameters - Comma separated list of parameters (if any) to be validated against the expectation</ul></ul><p>Identifier keys and values cannot contain whitespace, square brackets, percent, nor plus signs.<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"-3117193564021298218\",\n    \"type\": \"fres\",\n    \"attributes\": {\n      \"userLabel\": \"drop4_OCH_planned\",\n      \"mgmtName\": \"service_1\",\n      \"layerRate\": \"OTSi\",\n      \"networkRole\": \"FREAP\",\n      \"directionality\": \"unidirectional\",\n      \"topologySources\": [\n        \"stitched\"\n      ],\n      \"additionalAttributes\": {\n        \"isActual\": \"false\"\n      }\n    },\n    \"relationships\": {\n      \"endPoints\": {\n        \"data\": [\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:1\"\n          },\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:2\"\n          }\n        ]\n      },\n      \"partitionFres\": {\n        \"data\": [\n          {\n            \"type\": \"fres\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::FRE_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_1-5-CTPServerToClient-1547.72_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_21-7-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"721516201499390732\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"6739849242751075618\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::FRE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_1-8-CTPServerToClient-1547.72_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_21-8-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"1808637606701600683\"\n          }\n        ]\n      },\n      \"freExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"freExpectations\",\n            \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"-3117193564021298218:1\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"a\",\n        \"directionality\": \"receive ingress\",\n        \"associations\": [\n           {\n             \"orderIndex\": 1,             \"routeType\": \"home\",             \"relationship\": \"tpes\"           }\n         ]\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218:2\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"z\",\n        \"directionality\": \"transmit egress\"\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\",\n      \"type\": \"freExpectations\",\n      \"attributes\": {\n        \"modelType\": \"controlPlane\",\n        \"userLabel\": \"userLabel1\",\n        \"layerRate\": \"OTSi\",\n        \"networkRole\": \"IFRE\",\n        \"directionality\": \"bidirectional\",\n        \"photonicSpectrumPackage\": {\n           \"frequency\": \"196.075000:196.125000\",\n           \"minFreq\": \"195.975000:196.025000\",\n           \"maxFreq\": \"195.775000:195.825000\"\n          },\n        \"validateParameters\": {\n          \"include\": \"layerRate\"\n        }\n       },\n      \"relationships\": {\n         \"endPoints\": {\n             \"data\": [\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"1\"\n                 },\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"2\"\n                 }\n             ]\n         },\n        \"networkConstruct\": {\n           \"data\": {\n              \"type\": \"networkConstructs\",\n              \"id\": \"ncId1\"\n           }\n        },\n        \"serviceIntent\": {\n          \"data\": {\n            \"type\": \"serviceIntents\",\n            \"id\": \"eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre>",
                "operationId": "postFrePlannedWithExpectation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "validation FRE and its expectations created successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to create or update FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/fres": {
            "get": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKey=key1,key2,...&identifierValue=value1,value2,...\nFor instance:\n     ?identifierKey=ossLabel&identifierValue=ossLabel",
                "operationId": "getFresV4",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "description": "(Optional) Comma separated list of FRE identifiers to retrieve",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchText",
                        "in": "query",
                        "description": "(Optional) The searchable text, (default search Fields are name, layerRate, tpeLocations if searchFields is not specified.)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "searchFields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to search with, combined with searchText. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceState",
                        "in": "query",
                        "description": "(Optional) List of fre planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown",
                        "required": false,
                        "type": "string",
                        "default": "planned,discovered,plannedAndDiscovered"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "FRE layer rates in comma separated list.  The allowed values are: ETHERNET, OTU1, OTU2, OTU2e, OTU3, OTU4, OTUCn, OTSi, OMS, OS, PHY, OTS, FICON, FC, ODU, ODU0, ODU1, ODU2, ODU2e, ODU3, ODU4, ODUCn, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET, ENCAPSULATION, MPLS, MPLS_PROTECTION, MEDIA, LAG, RS, E1, E3, E1_2M, EC1, DSR_2M, LINE_OC3_STS3_AND_MS_STM1, SECTION_OC3_STS3_AND_RS_STM1, DSR_OC3_STM1, DSR_OC12_STM4, DSR_OC48_STM16, DSR_OC192_STM64, CES_IWF, T1, DSR_1_5M, STS1, STS3C, STS12C, STS24C, STS48C, DS0, DS1, DS3, VT15, VT2, NOT_APPLICABLE, ODUFLEX, OTUg, ODUg, BGP, IP",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeId",
                        "in": "query",
                        "description": "TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifer object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "concrete",
                        "in": "query",
                        "description": "(Optional) List of concrete FRE identifiers",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "modelType",
                        "in": "query",
                        "description": "(Optional) modelType parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "bookingData.lockout",
                        "in": "query",
                        "description": "(Optional)  Flag that enables/disables a link from having additional tunnel BW being consumed",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "group",
                        "in": "query",
                        "description": "(Optional, Deprecated) FRE group :<ul><li>dwa for all FREs in OTU4 and all top level FREs in ETHERNET, DSR, DSR_ETHERNET, OTSi(OCH), ODU2, ODU4, ODUCn, OTUCn<li>infrastructure for all FRE-APs representing forwarding constructs between ROADM OTS'<li>packet for all L2 nodal and top level FREs in ETHERNET including infrastructure</ul>",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "dwa",
                            "infrastructure",
                            "packet",
                            "packet_infrastructure",
                            "tdm"
                        ]
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "FRE types in comma separated list The allowed values are: explicitRoute, explicitRouteGroup, snc, sncGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "userLabel",
                        "in": "query",
                        "description": "User label",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "managementName",
                        "in": "query",
                        "description": "Management Name",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "(Optional) The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "(Optional) The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "(Optional) The child FRE identifier to return its parents",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exclude",
                        "in": "query",
                        "description": "(Optional) The given type would be excluded from get parents call, only combine with childFreId",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "actual",
                            "expectation"
                        ]
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlg",
                        "in": "query",
                        "description": "(Optional) Find roadmlines by srlg values separated by comma. A roadmline is a FRE between two SAM cards.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "deploymentState",
                        "in": "query",
                        "description": "(Optional) deploymentState parameter used to filter results",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "active",
                        "in": "query",
                        "description": "(Optional) The active state of the resource",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "namedQuery",
                        "in": "query",
                        "description": "(Optional) Comma-separated named query id list; The allowed values are: resiliency, tdmServices, topologicalLinks, roadmLineSpan",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "directionality",
                        "in": "query",
                        "description": "(Optional) Indicates if unidirectional or bidirectional FREs should be returned",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "unidirectional",
                            "bidirectional"
                        ]
                    },
                    {
                        "name": "networkRole",
                        "in": "query",
                        "description": "(Optional) Determines if the FRE participates in an internal or external forwarding view or involves access points or connection points",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "IFRE",
                            "FREAP",
                            "ROADMLINE",
                            "IFRECP"
                        ]
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "description": "FRE types in comma separated list. The allowed values are: service, link, roadmline-ap, roadmline",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "serviceClass",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the FRE service class. This parameter accepts a list of comma separated values",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "EVC",
                            "ETransit",
                            "EAccess",
                            "VLAN",
                            "TDM",
                            "Transport Client",
                            "Photonic",
                            "Tunnel",
                            "IP",
                            "LLDP",
                            "LAG",
                            "OTU",
                            "ROADM Line",
                            "Fiber",
                            "SNC",
                            "OSRP Link",
                            "OSRP Line",
                            "SNCP",
                            "L3VPN"
                        ]
                    },
                    {
                        "name": "layerRateQualifier",
                        "in": "query",
                        "description": "(Optional) Indicates additional qualification information for a LayerRate. For example, for beyond 100G rates (e.g. OTUCn, ODUCn), defines the n multiplier, or the n-M subrate value.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportedByFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all supported parent FREs (one serviceClass/layer level up) that have a serviceClass designation for the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "supportingFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all supporting child FREs (one serviceClass/layer level down) that have a serviceClass designation for the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "customerName",
                        "in": "query",
                        "description": "(Optional) Search for an exact match on customerName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sncgUserlabel",
                        "in": "query",
                        "description": "(Optional) For Control Plane SNCs only: Retrieves all SNCs provided the parent SNCG userLabel",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tunnelType",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE Tunnel class service. This parameter accepts a list of comma separated values: dynamic, static",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "adminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE adminState. This parameter accepts a list of comma separated values: enabled, disabled, not applicable, In Service, Out of Service",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "operationState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE operationState. This parameter accepts a list of comma separated values: fully operating, not operating, degraded operation, Not Applicable, Undetermined, In Service, Degraded, Out of Service External, Out of Service",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "lqsData.status",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS status. This parameter accepts a list of comma separated values",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "good",
                            "high",
                            "low",
                            "upgrade"
                        ]
                    },
                    {
                        "name": "lqsData.margin.valid",
                        "in": "query",
                        "description": "(Optional) The LQS margin validity state",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "lqsData.fiber.reconciled",
                        "in": "query",
                        "description": "(Optional) The LQS fiber reconciled state",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "true",
                            "false"
                        ]
                    },
                    {
                        "name": "lqsData.fiber.method",
                        "in": "query",
                        "description": "(Optional) Allow filtering on the LQS fiber method. This parameter accepts a list of comma separated values",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "totalPower",
                            "osc"
                        ]
                    },
                    {
                        "name": "lqsData.margin.viableAtEol",
                        "in": "query",
                        "description": "(Optional) A list of LQS margin viable at EOL states",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.totalExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth totalExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.availableExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth availableExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.unavailableExplicitRoutes",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth unavailableExplicitRoutes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.availablePercentage",
                        "in": "query",
                        "description": "((Optional) Allow filtering on FRE restorationHealth availablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.unavailablePercentage",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth unavailablePercentage",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "restorationHealth.homeAvailable",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE restorationHealth homeAvailable",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "coroutedFreId",
                        "in": "query",
                        "description": "(Optional) Retrieves all correlated FREs that are co-routed and co-terminated with the specified FRE Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tags",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE tags. This parameter accepts a list of comma separated strings",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayAdminState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE adminState display string",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayOperationState",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE operationState display string",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "displayTopologySource",
                        "in": "query",
                        "description": "(Optional) Allow filtering on FRE topologySource display string. Currently will only be set to 'Retained' on Fres",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "sortBy",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "metaDataFields",
                        "in": "query",
                        "description": "MetaData to be included. The allowed values are: layerRate, layerRateQualifier, signalContentType, serviceClass, sncgUserlabel, adminState, operationState, lqsData.status, lqsData.margin.valid, lqsData.fiber.reconciled, lqsData.fiber.method, lqsData.margin.viableAtEol, displayAdminState, displayOperationState, displayTopologySource, customerName",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, networkConstructs, planned, freDiscovered, frePlanned",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Creates a FRE",
                "description": "This REST API is intended to be used by service provisioning micro-service IFD only to create a FRE expectation.<p>The following attributes and relationships should be specified in the post request:<ul><li>layerRate, networkRole, directionality, topologySources, etc.<li>endpoint id relationships<li>network construct id relationship if the FRE is nodal<li>id relationship to other FREs if applicable<li>a list of FRE expectation id relationships<li>the endpoint content - specified in the included section<ul><li>role, directionality, etc.<li>tpe id relationships</ul><li>the FRE expectation content - specified in the included section<ul><li> validateParameters - Comma separated list of parameters (if any) to be validated against the expectation</ul></ul><p>Identifier keys and values cannot contain whitespace, square brackets, percent, nor plus signs.<p>The response only has id field populated.<p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"id\": \"-3117193564021298218\",\n    \"type\": \"fres\",\n    \"attributes\": {\n      \"userLabel\": \"drop4_OCH_planned\",\n      \"mgmtName\": \"service_1\",\n      \"layerRate\": \"OTSi\",\n      \"networkRole\": \"FREAP\",\n      \"directionality\": \"unidirectional\",\n      \"topologySources\": [\n        \"stitched\"\n      ]\n    },\n    \"relationships\": {\n      \"endPoints\": {\n        \"data\": [\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:1\"\n          },\n          {\n            \"type\": \"endPoints\",\n            \"id\": \"-3117193564021298218:2\"\n          }\n        ]\n      },\n      \"partitionFres\": {\n        \"data\": [\n          {\n            \"type\": \"fres\",\n            \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::FRE_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_1-5-CTPServerToClient-1547.72_aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_11_21-7-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"721516201499390732\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"6739849242751075618\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::FRE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_1-8-CTPServerToClient-1547.72_fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_11_21-8-CTPServerToClient-1547.72\"\n          },\n          {\n            \"type\": \"fres\",\n            \"id\": \"1808637606701600683\"\n          }\n        ]\n      },\n      \"freExpectations\": {\n        \"data\": [\n          {\n            \"type\": \"freExpectations\",\n            \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        ]\n      }\n    }\n  },\n  \"included\": [\n    {\n      \"id\": \"-3117193564021298218:1\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"a\",\n        \"directionality\": \"receive ingress\",\n        \"associations\": [\n           {\n               \"orderIndex\": 1,\n               \"routeType\": \"home\",\n               \"relationship\": \"tpes\"\n           }\n         ]\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"aca92325-0c37-45b4-815d-df8c2c4e7da8::TPE_aca92325-0c37-45b4-815d-df8c2c4e7da8::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218:2\",\n      \"type\": \"endPoints\",\n      \"attributes\": {\n        \"role\": \"z\",\n        \"directionality\": \"transmit egress\"\n      },\n      \"relationships\": {\n        \"tpes\": {\n          \"data\": [\n            {\n              \"type\": \"tpes\",\n              \"id\": \"fdde6704-5d06-41bb-a3f4-d85db8d8c508::TPE_fdde6704-5d06-41bb-a3f4-d85db8d8c508::EQPT_12_11-1-PTP\"\n            }\n          ]\n        }\n      }\n    },\n    {\n      \"id\": \"-3117193564021298218::eb7542a1-a0af-4bfb-a828-63e1162aa1a8\",\n      \"type\": \"freExpectations\",\n      \"attributes\": {\n        \"modelType\": \"controlPlane\",\n        \"userLabel\": \"userLabel1\",\n        \"layerRate\": \"OTSi\",\n        \"networkRole\": \"IFRE\",\n        \"directionality\": \"bidirectional\",\n        \"photonicSpectrumPackage\": {\n           \"frequency\": \"196.075000:196.125000\",\n           \"minFreq\": \"195.975000:196.025000\",\n           \"maxFreq\": \"195.775000:195.825000\"\n          },\n        \"validateParameters\": {\n          \"include\": \"layerRate\"\n        }\n       },\n      \"relationships\": {\n         \"endPoints\": {\n             \"data\": [\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"1\"\n                 },\n                 {\n                   \"type\": \"endPoints\",\n                   \"id\": \"2\"\n                 }\n             ]\n         },\n        \"networkConstruct\": {\n           \"data\": {\n              \"type\": \"networkConstructs\",\n              \"id\": \"ncId1\"\n           }\n        },\n        \"serviceIntent\": {\n          \"data\": {\n            \"type\": \"serviceIntents\",\n            \"id\": \"eb7542a1-a0af-4bfb-a828-63e1162aa1a8\"\n          }\n        }\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postFreV4",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "FRE to create",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "FRE and its expectation created successfully.",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/fres/{freId}": {
            "get": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "",
                "operationId": "getFreByIdV4",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts, srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Updates an FRE",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putFreByIdV4",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "fre",
                        "description": "The new FRE data.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "FRE has been updated successfully."
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to update FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Performs update operations on an FRE resource",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current fre resource.<p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"note\" : {\n                   \"noteMsg\" : \"This is an updated message on an Fre\",\n                   \"lastUpdatedBy\" : \"userName\"\n               },\n               \"customerName\" : \"This is the customer name on an Fre\"\n,               \"restorationHealth\" : {\n                   \"totalExplicitRoutes\": 10,\n                   \"availableExplicitRoutes\": 5,\n                   \"homeAvailable\": true\n                },\n               \"lqsData\" : {\n                   \"status\" : \"good\",\n                   \"margin\" : {\n                       \"minMargin\" : -1.0,\n                       \"upgrMargin\" : -1.0,\n                       \"sdMargin\" : -1.0,\n                       \"valid\" : true,\n                       \"viableAtEol\" : \"exceeded\"\n                   },\n                   \"fiber\" : {\n                       \"measuredLoss\" : -1.0,\n                       \"modeledLoss\" : -1.0,\n                       \"deltaLoss\" : -1.0,\n                       \"modeledMargin\" : -1.0,\n                       \"method\" : \"osc\",\n                       \"reconciled\" : true\n                   }\n               }\n            }\n        }\n    ]\n}\n</code></pre><p>Example replace request to override a ROADMLine's utilization total capacity:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"path\": \"data/attributes/utilizationData/overrideTotalCapacity\",\n      \"attributes\": {\n        \"utilizationData\": {\n          \"overrideTotalCapacity\": \"4.400\"\n        }\n      }\n    }\n  ]\n}</code></pre><p>Example replace request to set an SNC refresh state:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"path\": \"data/attributes/serviceRefresh\",\n      \"attributes\": {\n        \"serviceRefresh\": {\n          \"state\": \"Pending\"\n        }\n      }\n    }\n  ]\n}</code></pre><p>Example delete request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"note\"\n        }\n    ]\n}\n</code></pre><p>Example delete request FRE utilization total capacity override value:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"path\": \"data/attributes/utilizationData/overrideTotalCapacity\"\n        }\n    ]\n}</code></pre><p>Example delete request SNC refresh state:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"path\": \"data/attributes/serviceRefresh\"\n        }\n    ]\n}</code></pre>Doing a replace on srlg with an empty list will delete the srlg attribute\n",
                "operationId": "patchOperationV4",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The id of the fre to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given fre.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FrePatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/fres/{freId}/expectationMismatches": {
            "get": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Retrieves expectation mismatches, if any, for the specified FRE ID",
                "description": "<p>Mismatch for each FRE in the FRE subtree are returned",
                "operationId": "getFreExpectationMismatchesV4",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/fres/{freId}/expectations/{freExpId}": {
            "patch": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Update attributes on an expectation on the FRE by specific FRE ID and FRE Expectation ID ",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current fre resource.</code></pre><p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"srlg\" : [\"srlg1\", \"srlg2\"]\n            }\n        }\n    ]\n}\n</code></pre>Doing a replace on srlg with an empty list will delete the srlg attribute\n",
                "operationId": "patchFreExpectation",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The id of the fre to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "freExpId",
                        "in": "path",
                        "description": "The id of the freExpectation to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given fre.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FrePatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/FreExpectationRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v4/fres/{freId}/frePlanned": {
            "get": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Retrieves the planned FRE by specific FRE ID",
                "description": "",
                "operationId": "getFrePlannedById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE Planned to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, equipment",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Creates and updates a planned FRE",
                "description": "<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "putFrePlannedV4",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Planned FRE to create or update",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Planned FRE created/updated successfully.",
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to create a planned FRE.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "996 - nsiapiv4fres"
                ],
                "summary": "Update attributes on the planned FRE by specific FRE ID ",
                "description": "Upon request accepted, code 202 is returned and the output consists of JSON objects representing current fre resource.<p>Example replace request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"replace\",\n            \"attributes\" : {\n               \"userLabel\" : \"newLabel\",\n               \"description\" : \"This is the description on an Fre\"\n,            }\n        }\n    ]\n}\n</code></pre><p>Example delete request:</p><pre style='font-size: smaller'><code class='json'>{\n    \"operations\" : [\n        {\n            \"op\" : \"delete\",\n            \"attribute\" : \"userLabel\"\n        }\n    ]\n}\n</code></pre><p>Example Payload for Srlg Patch Operation</p>\n<pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"srlgPatch\",\n\"srlgRelationships\": {\n\"dynamicAutoSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"manualSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"dynamicPropagatedSRLG\": {\n\"data\": [\n{\n\"id\": \"string\",\n\"type\": \"srlg\",\n\"attributes\": {}\n}\n]\n},\n\"srlgPatchTime\": \"string\"\n}\n}\n]\n}\n</code></pre>",
                "operationId": "patchPlannedFre",
                "produces": [
                    "application/json-patch+json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "The id of the fre to be updated",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given fre.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/FrePatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    },
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/FrePlannedRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v5/fres": {
            "get": {
                "tags": [
                    "995 - nsiapiv5fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>tpeId<li>networkConstruct.id<li>freExpectations.serviceIntent.id<li>freExpectations.equipmentIntent.id<li>childFreId<li>endpoint.tpe.concrete<li>identifiers</ul>\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKeys=key1,key2,...&identifierValues=value1,value2,...\nFor instance:\n     ?identifierKey=ossLabel&identifierValue=ossLabel",
                "operationId": "getFresV5",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "query",
                        "description": "TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "(Optional) FRE layer rates in comma separated list. Only applied when Network Construct identifier is provided. The allowed values are: ETHERNET, OTU2, OTU4, OTSi, OMS, OS, PHY, OTS, ODU2, ODU4, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "The child FRE identifier to return its parents",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.intent.id",
                        "in": "query",
                        "description": "The intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifer object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "(Optional) FRE types in comma separated list. The allowed values are: explicitRoute, explicitRouteGroup, snc, sncGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exclude",
                        "in": "query",
                        "description": "(Optional) A single given type to be excluded used in conjunction with the `childFreId` parameter. The allowed values are: actual, expectation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, frePlanned, freDiscovered, srlgs",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v5/fres/{freId}": {
            "get": {
                "tags": [
                    "995 - nsiapiv5fres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "",
                "operationId": "getFreByIdV5",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts, controllers,srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v6/fres": {
            "get": {
                "tags": [
                    "994 - nsiapiv6fres"
                ],
                "summary": "Retrieve a list of FREs provided with the satisfying parameters",
                "description": "<p>At least one of the following parameters must be specified:<ul><li>tpeId<li>networkConstruct.id<li>freExpectations.serviceIntent.id<li>freExpectations.equipmentIntent.id<li>childFreId<li>endpoint.tpe.concrete<li>identifiers</ul>\nNote: when querying by identifiers, the supported syntax is as follows:\n     ?identifierKeys=key1,key2,...&identifierValues=value1,value2,...\nFor instance:\n     ?identifierKey=nodalId&identifierValue=nodalIdValue",
                "operationId": "getFresV6",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "tpeId",
                        "in": "query",
                        "description": "TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "networkConstruct.id",
                        "in": "query",
                        "description": "Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "layerRate",
                        "in": "query",
                        "description": "(Optional) FRE layer rates in comma separated list. Only applied when Network Construct identifier is provided. The allowed values are: ETHERNET, OTU2, OTU4, OTSi, OMS, OS, PHY, OTS, ODU2, ODU4, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET, CBR",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.serviceIntent.id",
                        "in": "query",
                        "description": "The service intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.equipmentIntent.id",
                        "in": "query",
                        "description": "The equipment intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "childFreId",
                        "in": "query",
                        "description": "The child FRE identifier to return its parents",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "endpoint.tpe.concrete",
                        "in": "query",
                        "description": "Concrete TPE identifier for endpoints",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "freExpectations.intent.id",
                        "in": "query",
                        "description": "The intent Id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "identifierKey",
                        "in": "query",
                        "description": "List of comma separated keys for an identifer object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "identifierValue",
                        "in": "query",
                        "description": "List of comma separated values for an identifier object",
                        "required": false,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "freType",
                        "in": "query",
                        "description": "(Optional) FRE types in comma separated list. The allowed values are: explicitRoute, cascadedExplicitRoute, explicitRouteGroup, snc, sncGroup",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "exclude",
                        "in": "query",
                        "description": "(Optional) A single given type to be excluded used in conjunction with the `childFreId` parameter. The allowed values are: actual, expectation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "signalContentType",
                        "in": "query",
                        "description": "(Optional) The identifier indicating type of parent to be returned. If specified, parent matching the criteria will be returned",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "roadmLineId",
                        "in": "query",
                        "description": "(Optional) Find services configured over a roadmline based on the roadmline FRE identifier.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "(Optional) Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "(Optional) The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, frePlanned, freDiscovered, utilization",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the list of FREs.",
                        "schema": {
                            "$ref": "#/definitions/FreListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the FREs with given query parameter.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v6/fres/{freId}": {
            "get": {
                "tags": [
                    "994 - nsiapiv6fres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "",
                "operationId": "getFreByIdV6",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts, controllers, srlgs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v6/fres/{freId}/operations/{operation}": {
            "put": {
                "tags": [
                    "994 - nsiapiv6fres"
                ],
                "summary": "execute FRE Operation on NE",
                "description": "",
                "operationId": "putFreOperationV6",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "FRE identifier",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "operation",
                        "in": "path",
                        "description": "FRE operation",
                        "required": true,
                        "type": "string",
                        "enum": [
                            "revert",
                            "regroom",
                            "makeCurrentToHome",
                            "addProtection",
                            "removeProtection",
                            "resize",
                            "updateHomePreemptionLevel",
                            "updateRestorationPreemptionLevel"
                        ]
                    },
                    {
                        "in": "body",
                        "name": "ProvisioningAttributes",
                        "description": "The desired fre operation",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/ProvisioningAttributesRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The FRE Operation was executed successfully"
                    },
                    "400": {
                        "description": "Invalid parameters were provided",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The specified FRE does not exist",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v7/fres/{freId}": {
            "get": {
                "tags": [
                    "994 - nsiapiv7fres"
                ],
                "summary": "Retrieves a specific FRE",
                "description": "",
                "operationId": "getFreByIdV7",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "path",
                        "description": "Identifier of the FRE to be retrieved",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "include",
                        "in": "query",
                        "description": "(Optional) List of comma separated resources to be side-loaded. The allowed values are: fres, tpes, networkConstructs, equipment, expectations, frePlanned, freDiscovered, abstracts, controllers, utilization",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fields",
                        "in": "query",
                        "description": "(Optional) List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/FreRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified FRE",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Cannot find the FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve FRE with given Id",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/sftp/api/v1/checkdisk": {
            "get": {
                "description": "checks if disk space is critical and responds",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "checkdisk"
                ],
                "summary": "check if disk space is critical",
                "operationId": "checkdisk",
                "parameters": [
                    {
                        "description": "is disk  full",
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/DiskSize"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/DiskSize"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/DiskSize"
                        }
                    }
                }
            }
        },
        "/sftp/api/v1/checkkafka": {
            "get": {
                "description": "checks if kafka is up and responds",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "checkkafka"
                ],
                "summary": "check if kafka is up",
                "operationId": "checkkafka",
                "parameters": [
                    {
                        "description": "is kafka up",
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/KafkaUp"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/KafkaUp"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/KafkaUp"
                        }
                    }
                }
            }
        },
        "/sftp/api/v1/checkpithos": {
            "get": {
                "description": "checks if pithos is up and responds",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "checkpithos"
                ],
                "summary": "check if pithos is up",
                "operationId": "checkpithos",
                "parameters": [
                    {
                        "description": "is pithos up",
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/PithosUp"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PithosUp"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/PithosUp"
                        }
                    }
                }
            }
        },
        "/sftp/api/v1/cleanup": {
            "delete": {
                "description": "CleanUp the data directory used for sftp/sftp if size is more than the threshold size in MB",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "cleanup"
                ],
                "summary": "CleanUp the data directory used for sftp/sftp",
                "operationId": "cleanup",
                "parameters": [
                    {
                        "description": "size threshold",
                        "name": "body",
                        "in": "body",
                        "schema": {
                            "$ref": "#/definitions/CleanUp"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    },
                    "400": {
                        "description": "Bad request"
                    }
                }
            }
        },
        "/sftp/debug/logs": {
            "get": {
                "description": "Retrieves the currently active log level",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "debug"
                ],
                "operationId": "getLogLevel",
                "responses": {
                    "200": {
                        "description": "joy",
                        "schema": {
                            "$ref": "#/definitions/LogLevel"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            },
            "put": {
                "description": "Changes the log level",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "debug"
                ],
                "operationId": "changeLogLevel",
                "parameters": [
                    {
                        "name": "body",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LogLevel"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The newly active log level",
                        "schema": {
                            "$ref": "#/definitions/LogLevel"
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "schema": {
                            "$ref": "#/definitions/ApiResponse"
                        }
                    }
                }
            }
        },
        "/slv-support/api/v1/equipmentGraphics": {
            "get": {
                "tags": [
                    "slv-supportapiv1equipmentGraphics"
                ],
                "summary": "Retrieves equipment graphics satisfying input parameters",
                "description": "<p>List of equipment graphics returned in JSON format.<p>At least one of the following parameters must be specified:<ul><li>ncId<li>siteId</ul>",
                "operationId": "getEquipmentGraphic",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Optional) Network Construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested list of equipment graphics.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentGraphicListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested list of equipment graphics.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/slv-support/api/v1/equipmentLayouts": {
            "get": {
                "tags": [
                    "slv-supportapiv1equipmentLayout"
                ],
                "summary": "Retrieves equipment layouts for requested resource type.",
                "description": "List of Equipment layout returned in JSON format",
                "operationId": "getEquipmentLayout",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Optional) Network construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) Resource Type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested list of equipment layout.",
                        "schema": {
                            "$ref": "#/definitions/EquipmentLayoutListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested list of equipment layout.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/slv-support/api/v1/shelfGraphics": {
            "get": {
                "tags": [
                    "slv-supportapiv1shelfGraphics"
                ],
                "summary": "Retrieves shelf graphics to satisfy input parameters",
                "description": "<p>List of shelf graphics returned in JSON format.<p>At least one of the following parameters must be specified:<ul><li>ncId<li>siteId</ul>",
                "operationId": "getShelfGraphic",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Optional) Network construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested list of shelf graphics.",
                        "schema": {
                            "$ref": "#/definitions/ShelfGraphicListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested list of shelf graphics.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/slv-support/api/v1/shelfLayouts": {
            "get": {
                "tags": [
                    "slv-supportapiv1shelfLayouts"
                ],
                "summary": "Retrieves shelf layouts for requested resource type.",
                "description": "List of Shelf layout returned in JSON format",
                "operationId": "getShelfLayout",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "siteId",
                        "in": "query",
                        "description": "(Optional) Site identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "(Optional) Network construct identifier",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "(Optional) Resource Type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ipAddress",
                        "in": "query",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested list of shelf layout.",
                        "schema": {
                            "$ref": "#/definitions/ShelfLayoutListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested list of shelf layout.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlg": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Get Srlg by Resource ID",
                "description": "<p>LATEST VERSION: V3<br/><h3>Description:</h3><p>This API provides functionality to get the details of srlg on resources using different parameters.</p><br/>",
                "operationId": "getSRLG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Id of the Resource whose details needs to be searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Resource Type: fres, networkConstructs, equipments, tpes values.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "isStructured",
                        "in": "query",
                        "description": "Is Structured: (Y or N) Srlg Values needs to be shown in Structured Form or not",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "plannedStartTime",
                        "in": "query",
                        "description": "Fetch SRLG set on the basis of time.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlgType",
                        "in": "query",
                        "description": "Filter on types of Srlgs to limit search.Values could be: auto,manual,inherited,combined,propagated, discovered.In addition manualShare, propagatedShare or combinedShare can also be used for NetworkConstructs.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgIntentResponseV3"
                        }
                    },
                    "404": {
                        "description": "SRLG not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "SRLG"
                ],
                "summary": "API to trigger Srlg Batch Operations",
                "description": "<p>LATEST VERSION: V2\n<h3>Description :</h3><p>This request is intended for SRLG(s) Batch Operations.<br/>AutoAssignment ,Clear AutoAssignment ,Propagation ,WriteToNetwork ,Supported6500Version,PropagateShareSrlg ,ClearPropgatedShareSrlg ,Audit & Reconcile of Fb Profile, Clear Manual Assignment. API returns Job Id in response which can be used to track the job status.</p><br/><p><h3>Schema Description :</h3><strong>op: </strong>Operation (auto_assign,clear_auto_assign,propagate,write_to_network,propagate_share_srlg,clear_propagated_share_srlg,audit_fb_profile,clear_manual_assign)<br/><strong>resourceType: </strong> fres, networkConstructs, equipment/equipments,tpes <br/><strong>resourceTypes: </strong> fres, networkConstructs, equipment/equipments,tpes (comma separated, only for clear_manual_assign) <br/><strong>resourceId: </strong> Id of the resource<br/><strong>resourceName: </strong> Name of resource<br/><strong>riskType: </strong> Add/Drop Bank,ROADM Degree,etc<br/><strong>region: </strong> Subnetwork/region for which operation needs to be carried out<br/><strong>subNetwork: </strong> SubNetwork for which operation needs to be carried out<br/><strong>opaque: </strong> Opaque SRLG value (only used for clear_manual_assign)<br/><strong>structured: </strong> Structured SRLG value (only used for clear_manual_assign)<br/></p><br/><p>Here are some example requests:</p>\n\n```json\nAUTO-ASSIGNMENT\n\n{\n  \"data\": {\n      \"op\": \"auto_assign\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\"\n    }\n  }\n}\n\nCLEAR-AUTOASSIGNMENT\n\n{\n  \"data\": {\n      \"op\": \"clear_auto_assign\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\"\n    }\n  }\n}\n\nPROPAGATION\n\n{\n  \"data\": {\n      \"op\": \"propagate\",\n    \"attributes\": {\n      \"resourceId\": \"8188858458035332238\",\n      \"resourceType\": \"fres\"\n    }\n  }\n}\n\nWRITE TO NETWORK\n\n{\n  \"data\": {\n      \"op\": \"write_to_network\",\n    \"attributes\": {\n      \"resourceId\": \"f1a543f5-a2c5-349b-85dd-e298fcf716e4\",\n      \"resourceType\": \"networkConstructs\"\n    }\n  }\n}\n\nPROPAGATE SHARE SRLG\n\n{\n  \"data\": {\n    \"op\": \"propagate_share_srlg\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\",\n      \"resourceId\": \"string\",\n     \"resourceName\": \"string\",\n      \"region\": \"string\"\n    }\n  }\n}\n\nCLEAR PROPAGATED SHARE SRLG\n\n{\n  \"data\": {\n    \"op\": \"clear_propagated_share_srlg\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\",\n      \"resourceId\": \"string\",\n     \"resourceName\": \"string\",\n      \"region\": \"string\"\n    }\n  }\n}\n\nAUDIT & RECONCILE OF FB PROFILES\n\n{\n  \"data\": {\n    \"op\": \"audit_fb_profile\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\",\n      \"resourceId\": \"string\",\n     \"resourceName\": \"string\",\n      \"region\": \"string\"\n     \"reconcile\": true\n    }\n  }\n}\n\nCLEAR MANUAL ASSIGNMENT\n\n{\n  \"data\": {\n    \"op\": \"clear_manual_assign\",\n    \"attributes\": {\n      \"resourceTypes\": \"networkConstructs,fres,tpes,equipments\",\n      \"region\": \"string\",\n      \"opaque\": \"string\",\n      \"structured\": {\n         \"riskType\": \"External Risk\",\n         \"Region\": \"Subnetwork1\"\n         \"riskValue\": \"1\"\n       }\n    }\n  }\n}\n\n",
                "operationId": "triggerAssignmentOp",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLG Assignment Job request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgManualOpRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "SRLG Job Triggered.",
                        "schema": {
                            "$ref": "#/definitions/SrlgJobStatusBO"
                        }
                    },
                    "423": {
                        "description": "Another SRLG Job is already running.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Updates SRLG on given resource",
                "description": "<p>LATEST VERSION: V2\n<h3>Description:</h3><p>This API is intended for manual input of SRLG(s) on resources.<br/><h3>Description of the Schema:<br/></h3>Minimally following attributes need to be provided.</p><br/><p><strong>resourceId:</strong>  Id of the resource<br/><strong>resourceType:</strong> fres, networkConstructs, equipment/equipments, tpes <br/><strong>srlgSet:</strong> Is an object of plannedStartDate and manual srlg object. The date format is ie. “YYYY-MM-DDTHH:MM:SS.SSSZ”</p><br/><p>Here is an example request:</p>\n\n```json\n{\n  \"data\": {\n    \"attributes\": {\n      \"resourceId\": \"2000925292613460342\",\n      \"resourceType\": \"fres\",\n      \"srlgSet\": [\n        {\n          \"manual\": {\n            \"srlgStructuredValues\": [\n              {\n                \"subNetwork\": \"NewYorkRegion\",\n                \"riskType\": \"Conduit\",\n                \"riskValue\": 80023\n              }\n            ]\n          }\n        },\n        {\n          \"plannedStartDate\": \"2018-09-26T10:30:01.607413Z\",\n          \"manual\": {\n            \"srlgValues\": [\n              \"59520495\"\n            ]\n          }\n        }\n      ]\n    }\n  }\n}",
                "operationId": "putSRLG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLG request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgIntentRequestV2"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG updated"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "404": {
                        "description": "Entity not found"
                    },
                    "500": {
                        "description": "Internal system error"
                    }
                }
            }
        },
        "/ifd/api/srlg/associatedSrlgs": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Provide details of SRLGs associated with the given resource",
                "description": "<p>LATEST VERSION: V3\n<h3>Description:</h3><br/><p>Following API provides details of SRLGs associated with given resource.Filters can be used to get details.</p><br/>",
                "operationId": "getSrlgAssociations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Id of the Resource for which associated SRLG details are to be fetched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Resource Type for which associated SRLG details are to be fetched (fres,networkConstructs,equipments,tpes values)",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "srlgSource",
                        "in": "query",
                        "description": "Filter on types of Srlgs to limit search on association (auto,manual,propagated,discovered,manualShare,propagatedShare,discoveredShare values). If nothing is given, search will return on all possible values.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeMetaData",
                        "in": "query",
                        "description": "Indicate if metadata for filters need to be included",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Associated SRLGs details returned.",
                        "schema": {
                            "$ref": "#/definitions/AssociatedSrlgsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlg/externalSRLGs": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Query External Assigned Srlgs",
                "description": "<p>LATEST VERSION: V2\n<h3>Description:</h3><br/><p>This API can be used to query external assigned Srlgs assigned from pool.If no parameters are given.It will retrieve all records.</p><br/>",
                "operationId": "getExternalSrlgsfromLabel",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "userLabel",
                        "in": "query",
                        "description": "Label used for reference while assigning SRLG",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isStructured",
                        "in": "query",
                        "description": "isStructured (Y/N) Srlg Values needs to be shown in Structured Form or not",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "offset",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "limit",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "External SRLGs returned",
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlgList"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "External SRLGs not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Assign or Release Srlg Values from Pool",
                "description": "<p>LATEST VERSION: V2\n<h3>Description :</h3><p>This request is intended for External SRLG Pool Operations(Assign and Release External Srlg From Pool)</p><br/><h3>Description of the Schema:</h3><p><strong>op :</strong>Type of Operation (assign_external_srlg, release_external_srlg)<br/><strong>label :</strong> Any label used for reference<br/><strong>riskType :</strong> One of the RiskType Value given while setting SRLG Format <br/><strong>Region :</strong> Region for Srlg Value (Subnetwork)<br/><strong>id :</strong> Id for SRLG Value to release<br/></p><br/><p>Here are some example requests:</p>\n\n```json\nGET AVAILABLE SRLG VALUE :-\n\n{\n  \"data\": {\n      \"op\": \"assign_external_srlg\",\n      \"type\": \"externalSRLGs\",\n    \"attributes\": {\n      \"label\": \"User_Label\",\n    \"srlgFields\": {\n      \"riskType\": \"External Risk\",\n      \"Region\": \"Subnetwork1\"\n    }\n    }\n  }\n}\n\nRELEASE SRLG VALUE :-\n\n{\n  \"data\": {\n      \"op\": \"release_external_srlg\",\n      \"type\": \"externalSRLGs\",\n    \"attributes\": {\n      \"id\": \"srlgValue\"\n    }\n  }\n}\n\n",
                "operationId": "triggerExternalPoolOp",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLG External Pool Operation Request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlgPoolRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "SRLG Pool Assigned.",
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlg"
                        }
                    },
                    "202": {
                        "description": "SRLG Pool Release/ Reset Job Triggered",
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlgPoolResetResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlg/externalSRLGs/{extSRLGId}": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Query External Srlg assignments.",
                "description": "<p>LATEST VERSION: V2\n<h3>Description:</h3><br/><p>This API provides functionality to query for specific External srlg value.</p><br/>",
                "operationId": "getExternalSrlgFromId",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "extSRLGId",
                        "in": "path",
                        "description": "External Srlg Value",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "isStructured",
                        "in": "query",
                        "description": "isStructured (Y/N)  Srlg Values needs to be shown as structured or not.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "External SRLGs returned",
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlg"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "External SRLGs not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlg/job/status": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "GET SRLG Job operation status",
                "description": "<p>LATEST VERSION: V3\n<h3>Description:</h3><br/><p>This API provides functionality to get the Srlg Batch Operation's jobs status using different parameters.</p><br/><strong>*Provide atleast one of the following Parameters*</strong><p><ul><li>JobType<br/></li><li>JobId<br/></li><li>JobStatus<br/></li></ul><br/></p><br/>",
                "operationId": "jobOpStatus",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "query",
                        "description": "Id of Job/Srlg Operation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobType",
                        "in": "query",
                        "description": "Type of Job/Srlg Operation.Values could be: auto_assign,clear_auto_assign,write_to_network,propagate,assign_external_srlg, release_external_srlg, propagate_share_srlg, clear_propagated_share_srlg, audit_fb_profile, clear_manual_assign.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobStatus",
                        "in": "query",
                        "description": "Status of Job/Srlg Operation.Values could be: in_progress,completed,failed.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Job Status returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgJobResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/srlg/job/{jobId}/details": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "GET SRLG Job operation status details",
                "description": "<p>LATEST VERSION: V2\n<h3>Description:</h3><br/><p>This API provides details about the srlg job operation status.Job id obtained from batch operation response needs to be used for tracking srlg operation.</p><br/>",
                "operationId": "jobOpStatusDetails",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Id of Job/Srlg Operation for which details needs to be searched",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Job Status returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgManualJobDetailsOpResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/srlg/srlgMismatch": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Search resources which have srlg mismatch",
                "description": "<p>LATEST VERSION: V3\n<h3>Description:</h3><br/><p>This API helps to query about the mismatch of Srlg Values present on resources.<br/></p><br/>",
                "operationId": "getSrlgMismatchResources",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "NetworkConstruct id for which srlg mismatched resource to be found.No value indicates find for all NetworkConstructs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Allowed value : fres",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "fres"
                        ]
                    },
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "resourceId if in particular",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgMismatchResponseV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlg/srlgMismatch/{mismatchId}/details": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Get Srlg Mismatch details for given mismatchId",
                "description": "<h3>Description:</h3><br/><p>SRLG mismatch details<br/></p><br/>",
                "operationId": "getSrlgMismatchDetails",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "mismatchId",
                        "in": "path",
                        "description": "Srlg mismatch Id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgMismatchResponseV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlg/{srlgValue}/assignmentDetails": {
            "get": {
                "tags": [
                    "SRLG"
                ],
                "summary": "Search resources which have been assigned with given SRLG value",
                "description": "<p>LATEST VERSION: V3\n<h3>Description:</h3><br/><p>This API provides search capability to search resources for Srlg Values assigned on them.Different filters can be used to get details.</p><br/>",
                "operationId": "getResourcesFromSrlgValue",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "srlgValue",
                        "in": "path",
                        "description": "SrlgValue for which search is to be performed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "srlgSource",
                        "in": "query",
                        "description": "Type of assignment (manual,auto,inherited,propagated,discovered,manualShare,propagatedShare). If no value provided lookup will be done for all types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Resource types on which SRLG assignment to be searched (fres,tpes,networkConstructs,equipments). If no value provided lookup will be done for all types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeMetaData",
                        "in": "query",
                        "description": "Indicate if metadata for filters need to be included",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgAssignmentDetailsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlgJobs": {
            "get": {
                "tags": [
                    "SRLG Jobs"
                ],
                "summary": "GET SRLG Job operation status",
                "description": "<p>LATEST VERSION: V3\n<h3>Description:</h3><br/><p>This API provides functionality to get the Srlg Batch Operation's jobs status using different parameters.</p><br/><strong>*Provide atleast one of the following Parameters*</strong><p><ul><li>JobType<br/></li><li>JobId<br/></li><li>JobStatus<br/></li></ul><br/></p><br/>",
                "operationId": "getJobs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "fromTime",
                        "in": "query",
                        "description": " Jobs that completed after the given time",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toTime",
                        "in": "query",
                        "description": " Jobs that completed before the given time",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobType",
                        "in": "query",
                        "description": " Comma separated type of Job/Srlg Operation. Values could be: auto_assign,clear_auto_assign,write_to_network,propagate,assign_external_srlg, release_external_srlg, propagate_share_srlg, clear_propagated_share_srlg, audit_fb_profile, clear_manual_assign.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scheduleName",
                        "in": "query",
                        "description": "Schedule name to which the Srlg job belongs.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scope",
                        "in": "query",
                        "description": "Scope in which the Job would run",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobStatus",
                        "in": "query",
                        "description": "Status of Job/Srlg Operation.Values could be: in_progress,completed,failed.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scheduledOnly",
                        "in": "query",
                        "description": "Is job essentially kicked-off through  schedule API:  By default all jobs would be returned.",
                        "required": false,
                        "type": "boolean"
                    },
                    {
                        "name": "includeDetails",
                        "in": "query",
                        "description": "Include job details. By default only job status would be returned.",
                        "required": false,
                        "type": "boolean"
                    },
                    {
                        "name": "metaFields",
                        "in": "query",
                        "description": " Comma separated. Meta-data fields to include. Options are: jobStatus, jobType, scope, scheduleName ",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Job Status returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgJobResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlgJobs/{jobId}": {
            "get": {
                "tags": [
                    "SRLG Jobs"
                ],
                "summary": "GET SRLG Job operation status details",
                "description": "<p>LATEST VERSION: V3\n<h3>Description:</h3><br/><p>This API provides details about the srlg job operation status.Job id obtained from batch operation response needs to be used for tracking srlg operation.</p><br/>",
                "operationId": "getJobDetailsV3",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Id of Job/Srlg Operation for which details needs to be searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "downloadReport",
                        "in": "query",
                        "description": "(Optional) Download report Y/N. Default is No. Download  format is  JSON",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Job Status returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgManualJobDetailsOpResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "SRLG Jobs"
                ],
                "summary": "Delete Srlg Job for given Id",
                "description": " \"<p>LATEST VERSION: V3\"",
                "operationId": "deleteSchedule",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Srlg Job deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlgSchedules": {
            "get": {
                "tags": [
                    "SRLG Schedules"
                ],
                "summary": "Get all SRLG Job schedules",
                "description": " \"<p>LATEST VERSION: V3\"",
                "operationId": "getAllSchedules",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "scheduleName",
                        "in": "query",
                        "description": "Schedule name to which the Srlg job belongs.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scope",
                        "in": "query",
                        "description": "Scope in which the Job would run",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobType",
                        "in": "query",
                        "description": "Type of Job/Srlg Operation.Values could be: auto_assign,clear_auto_assign,write_to_network,propagate,assign_external_srlg, release_external_srlg, propagate_share_srlg, clear_propagated_share_srlg, audit_fb_profile, clear_manual_assign.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "frequency",
                        "in": "query",
                        "description": "Schedule frequency. Possible values are: ONCE, DAILY, WEEKLY, MONTHLY",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaFields",
                        "in": "query",
                        "description": " Comma separated. Meta-data fields to include. Options are: jobType, scope, scheduleName, frequency ",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All Srlg Schedule Jobs returned",
                        "schema": {
                            "$ref": "#/definitions/SrlgSchedulesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Scheduler Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "SRLG Schedules"
                ],
                "summary": "SRLG Job Schedule api to create schedules",
                "description": " \"<p>LATEST VERSION: V3\"\n<h3>Description :</h3><p>This request is intended for SRLG(s) Schedule Creation.<p><h3>Schema Description: </h3><strong>scheduleName: </strong> unique name for schedule <br/><strong>scopeType: </strong> network<br/><strong>jobs: </strong> jobs to schedule<br/></p><br/><p>Here are some example requests:</p>\n```json\nSchedule Later :\n\n{\n  \"data\": {\n      \"type\": \"srlgJobsSchedule\",\n    \"attributes\": {\n      \"scheduleName\": \"Schedule1\",\n      \"scopeType\": \"network\",\n      \"cronExpression\": \"5 11 7 1/1 * ? *\",\n      \"cronExpressionFormat\": \"Quartz\",\n    \"jobs\": [\n \"auto_assign\",\n\"propagate\",\n \"write_to_network\"\n ]\n  }\n}\n}\n\nSchedule Now For Scope network:\n\n{\n  \"data\": {\n      \"type\": \"srlgJobsSchedule\",\n    \"attributes\": {\n      \"scheduleName\": \"Schedule1\",\n      \"scopeType\": \"Network\",\n    \"jobs\": [\n \"auto_assign\",\n\"propagate\",\n \"write_to_network\"\n ]\n  }\n}\n}\n\nSchedule Now For Scope subNetwork:\n\n{\n  \"data\": {\n      \"type\": \"srlgJobsSchedule\",\n    \"attributes\": {\n      \"scheduleName\": \"Schedule1\",\n      \"scopeType\": \"subNetwork\",\n      \"scopeValue\": \"EastRegion\",\n    \"jobs\": [\n \"auto_assign\",\n\"propagate\",\n ]\n  }\n}\n}\n",
                "operationId": "createSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLG Schedule Job request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgScheduleRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "SRLG Schedule Created.",
                        "schema": {
                            "$ref": "#/definitions/SrlgScheduleResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlgSchedules/allowedJobs": {
            "get": {
                "tags": [
                    "SRLG Schedules"
                ],
                "summary": "Get display models for SRLG Scheduler UI",
                "description": " \"<p>LATEST VERSION: V3\"",
                "operationId": "getAllowedJobs",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Display models for SRLG Scheduler UI returned",
                        "schema": {
                            "$ref": "#/definitions/SrlgScheduleModelsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Display models for SRLG Scheduler UI not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/srlgSchedules/{scheduleId}": {
            "delete": {
                "tags": [
                    "SRLG Schedules"
                ],
                "summary": "Delete Srlg Job Schedule for schedule Id",
                "description": " \"<p>LATEST VERSION: V3\"",
                "operationId": "deleteSchedule",
                "parameters": [
                    {
                        "name": "scheduleId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Srlg Schedule  deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Schedule  not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v1/srlg": {
            "put": {
                "tags": [
                    "SRLG v1"
                ],
                "summary": "Updates SRLG on roadm lines",
                "description": "<h3>Description of the Schema:</h3><p>This schema is intended for manual input of SRLG(s).  Minimally following attributes need to be provided.</p><br/><p><strong>resourceId:</strong>  FreId of the roadmline<br/><strong>resourceType:</strong> Fre<br/><strong>resourceName:</strong>  userLabel of the roadmline<br/>[<strong>Note:</strong> Either resourceId or resourceName should be provided. If both are present they will cause failure due to ambiguity.]<br/><strong>srlgSet:</strong> Is an object of plannedStartDate and list of srlgValues. If plannedStartDate is not provided IFD will default it to current date. The date format is ie. “YYYY-MM-DDTHH:MM:SS.SSSZ”</p><br/><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": {\n    \"attributes\": {\n      \"resourceName\": \"1 DWDMU PV0754A111 PV0754B111\",\n      \"resourceType\": \"Fre\",\n      \"srlgSet\": [\n        {\n          \"srlgValues\": [\n            \"10234\",\n            \"20567\"\n          ],\n          \"plannedStartDate\": \"2019-11-19T11:37:29.739Z\"\n        }\n      ]\n    }\n  }\n}\n</code></pre>",
                "operationId": "putSRLG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLG request",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/SrlgIntentRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG updated"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "ROADMLINE not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v1/srlg/{resourceId}": {
            "get": {
                "tags": [
                    "SRLG v1"
                ],
                "summary": "Get SRLG by ID",
                "description": "",
                "operationId": "getSRLG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "path",
                        "description": "FreId of the Roadmline",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgIntentRequest"
                        }
                    },
                    "404": {
                        "description": "SRLG not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v2/srlg": {
            "get": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "Get Srlg by Resource ID",
                "description": "<br/><h3>Description:</h3><p>This API provides functionality to get the details of srlg on resources using different parameters.</p><br/>",
                "operationId": "getSRLG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Id of the Resource whose details needs to be searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Resource Type: fres, networkConstructs, equipments, tpes values.equipment value is also accepted",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "isStructured",
                        "in": "query",
                        "description": "Is Structured: (Y or N) Srlg Values needs to be shown in Structured Form or not",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "plannedStartTime",
                        "in": "query",
                        "description": "Fetch SRLG set on the basis of time.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlgType",
                        "in": "query",
                        "description": "Filter on types of Srlgs to limit search.Values could be: auto,manual,inherited,combined,propagated, discovered.In addition manualShare, propagatedShare or combinedShare can also be used for NetworkConstructs.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgIntentRequestV2"
                        }
                    },
                    "404": {
                        "description": "SRLG not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            },
            "post": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "API to trigger Srlg Batch Operations",
                "description": "<h3>Description :</h3><p>This request is intended for SRLG(s) Batch Operations.<br/>AutoAssignment ,Clear AutoAssignment ,Propagation ,Supported6500Version ,WriteToNetwork ,PropagateShareSrlg ,ClearPropgatedShareSrlg ,Audit & Reconcile of Fb Profile, Clear Manual Assignment. API returns Job Id in response which can be used to track the job status.</p><br/><p><h3>Schema Description: </h3><strong>op: </strong>Operation (auto_assign,clear_auto_assign,propagate,write_to_network,propagate_share_srlg,clear_propagated_share_srlg,audit_fb_profile,clear_manual_assign)<br/><strong>resourceType: </strong> fres, networkConstructs, equipment/equipments,tpes <br/><strong>resourceTypes: </strong> fres, networkConstructs, equipment/equipments,tpes (comma separated, only for clear_manual_assign) <br/><strong>resourceId: </strong> Id of the resource<br/><strong>resourceName: </strong> Name of resource<br/><strong>riskType: </strong> Add/Drop Bank,ROADM Degree,etc<br/><strong>region: </strong> Subnetwork/region for which operation needs to be carried out<br/><strong>subNetwork: </strong> SubNetwork for which operation needs to be carried out<br/><strong>opaque: </strong> Opaque SRLG value (only used for clear_manual_assign)<br/><strong>structured: </strong> Structured SRLG value (only used for clear_manual_assign)<br/></p><br/><p>Here are some example requests:</p>\n```json\nAUTO-ASSIGNMENT\n\n{\n  \"data\": {\n      \"op\": \"auto_assign\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\"\n    }\n  }\n}\n\nCLEAR-AUTOASSIGNMENT\n\n{\n  \"data\": {\n      \"op\": \"clear_auto_assign\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\"\n    }\n  }\n}\n\nPROPAGATION\n\n{\n  \"data\": {\n      \"op\": \"propagate\",\n    \"attributes\": {\n      \"resourceId\": \"8188858458035332238\",\n      \"resourceType\": \"fres\"\n    }\n  }\n}\n\nWRITE TO NETWORK\n\n{\n  \"data\": {\n      \"op\": \"write_to_network\",\n    \"attributes\": {\n      \"resourceId\": \"f1a543f5-a2c5-349b-85dd-e298fcf716e4\",\n      \"resourceType\": \"networkConstructs\"\n    }\n  }\n}\n\nPROPAGATE SHARE SRLG\n\n{\n  \"data\": {\n    \"op\": \"propagate_share_srlg\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\",\n      \"resourceId\": \"string\",\n     \"resourceName\": \"string\",\n      \"region\": \"string\"\n      \"subNetwork\": \"string\",\n    }\n  }\n}\n\nCLEAR PROPAGATED SHARE SRLG\n\n{\n  \"data\": {\n    \"op\": \"clear_propagated_share_srlg\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\",\n      \"resourceId\": \"string\",\n     \"resourceName\": \"string\",\n      \"region\": \"string\"\n      \"subNetwork\": \"string\",\n    }\n  }\n}\n\nAUDIT & RECONCILE OF FB PROFILES\n\n{\n  \"data\": {\n    \"op\": \"audit_fb_profile\",\n    \"attributes\": {\n      \"resourceType\": \"networkConstructs\",\n      \"resourceId\": \"string\",\n     \"resourceName\": \"string\",\n      \"region\": \"string\"\n      \"subNetwork\": \"string\",\n     \"reconcile\": true\n    }\n  }\n}\n\nCLEAR MANUAL ASSIGNMENT\n\n{\n  \"data\": {\n    \"op\": \"clear_manual_assign\",\n    \"attributes\": {\n      \"resourceTypes\": \"networkConstructs,fres,tpes,equipments\",\n      \"region\": \"string\",\n      \"subNetwork\": \"string\",\n      \"opaque\": \"string\",\n      \"structured\": {\n         \"riskType\": \"External Risk\",\n         \"Region\": \"Subnetwork1\"\n         \"riskValue\": \"1\"\n       }\n    }\n  }\n}\n\n",
                "operationId": "triggerAssignmentOp",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLG Assignment Job request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgManualOpRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "SRLG Job Triggered.",
                        "schema": {
                            "$ref": "#/definitions/SrlgJobStatusBO"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "423": {
                        "description": "Another SRLG Job is already running."
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "Updates SRLG on given resource",
                "description": "<h3>Description:</h3><p>This API is intended for manual input of SRLG(s) on resources.<br/><h3>Description of the Schema:<br/></h3>Minimally following attributes need to be provided.</p><br/><p><strong>resourceId:</strong>  Id of the resource<br/><strong>resourceType:</strong> fres, networkConstructs, equipment/equipments, tpes  <br/><strong>srlgSet:</strong> Is an object of plannedStartDate and manual/manualShare srlg object. The date format is ie. “YYYY-MM-DDTHH:MM:SS.SSSZ”</p><br/><p>Here is an example request:</p>\n```json\n{\n  \"data\": {\n    \"attributes\": {\n      \"resourceId\": \"2000925292613460342\",\n      \"resourceType\": \"fres\",\n      \"srlgSet\": [\n        {\n          \"manual\": {\n            \"srlgStructuredValues\": [\n              {\n                \"subNetwork\": \"NewYorkRegion\",\n                \"riskType\": \"Conduit\",\n                \"riskValue\": 80023\n              }\n            ]\n          }\n        },\n        {\n          \"plannedStartDate\": \"2018-09-26T10:30:01.607413Z\",\n          \"manual\": {\n            \"srlgValues\": [\n              \"59520495\"\n            ]\n          }\n        }\n      ]\n    }\n  }\n}",
                "operationId": "putSRLG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLG request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgIntentRequestV2"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG updated"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "404": {
                        "description": "Entity not found",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/ifd/api/v2/srlg/externalSRLGs": {
            "get": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "Query External Assigned Srlgs",
                "description": "<h3>Description:</h3><br/><p>This API can be used to query external assigned Srlgs assigned from pool.If no parameters are given.It will retrieve all records.</p><br/>",
                "operationId": "getExternalSrlgsfromLabel",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "userLabel",
                        "in": "query",
                        "description": "Label used for reference while assigning SRLG",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "isStructured",
                        "in": "query",
                        "description": "isStructured (Y/N) Srlg Values needs to be shown in Structured Form or not",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "offset",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "limit",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "External SRLGs returned",
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlgList"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "External SRLGs not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "Assign or Release Srlg Values from Pool",
                "description": "<h3>Description :</h3><p>This request is intended for External SRLG Pool Operations(Assign and Release External Srlg From Pool)</p><br/><h3>Description of the Schema:</h3><p><strong>op :</strong>Type of Operation (assign_external_srlg, release_external_srlg)<br/><strong>label :</strong> Any label used for reference<br/><strong>riskType :</strong> One of the RiskType Value given while setting SRLG Format <br/><strong>Region :</strong> Region for Srlg Value (Subnetwork)<br/><strong>id :</strong> Id for SRLG Value to release<br/></p><br/><p>Here are some example requests:</p>\n\n```json\nGET AVAILABLE SRLG VALUE :-\n\n{\n  \"data\": {\n      \"op\": \"assign_external_srlg\",\n      \"type\": \"externalSRLGs\",\n    \"attributes\": {\n      \"label\": \"User_Label\",\n    \"srlgFields\": {\n      \"riskType\": \"External Risk\",\n      \"Region\": \"Subnetwork1\"\n    }\n    }\n  }\n}\n\nRELEASE SRLG VALUE :-\n\n{\n  \"data\": {\n      \"op\": \"release_external_srlg\",\n      \"type\": \"externalSRLGs\",\n    \"attributes\": {\n      \"id\": \"srlgValue\"\n    }\n  }\n}\n\n",
                "operationId": "triggerExternalPoolOp",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "External SRLG Pool Operation Request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlgPoolRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "SRLG Value from External Pool Assigned.",
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlg"
                        }
                    },
                    "202": {
                        "description": "External SRLG Pool Release Job Triggered",
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlgPoolResetResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v2/srlg/externalSRLGs/{extSRLGId}": {
            "get": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "Query ExternalSrlg assignments.",
                "description": "<h3>Description:</h3><br/><p>This API provides functionality to query for specific External srlg value.</p><br/>",
                "operationId": "getExternalSrlgFromId",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "extSRLGId",
                        "in": "path",
                        "description": "External Srlg Value",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "isStructured",
                        "in": "query",
                        "description": "isStructured (Y/N)  Srlg Values needs to be shown as structured or not.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "External SRLGs returned",
                        "schema": {
                            "$ref": "#/definitions/ExternalSrlg"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "External SRLGs not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v2/srlg/job/status": {
            "get": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "GET SRLG Job operation status",
                "description": "<h3>Description:</h3><br/><p>This API provides functionality to get the Srlg Batch Operation's jobs status using different parameters.</p><br/><strong>*Provide atleast one of the following Parameters*</strong><p><ul><li>JobType<br/></li><li>JobId<br/></li><li>JobStatus<br/></li></ul><br/></p><br/>",
                "operationId": "jobOpStatus",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "query",
                        "description": "Id of Job/Srlg Operation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobType",
                        "in": "query",
                        "description": "Type of Job/Srlg Operation.Values could be: auto_assign,clear_auto_assign,write_to_network,propagate,assign_external_srlg, release_external_srlg, propagate_share_srlg, clear_propagated_share_srlg, audit_fb_profile, clear_manual_assign.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobStatus",
                        "in": "query",
                        "description": "Status of Job/Srlg Operation.Values could be: in_progress,completed,failed.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Job Status returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgManualJobOpResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v2/srlg/job/{jobId}/details": {
            "get": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "GET SRLG Job operation status details",
                "description": "<h3>Description:</h3><br/><p>This API provides details about the srlg job operation status.Job id obtained from batch operation response needs to be used for tracking srlg operation.</p><br/>",
                "operationId": "jobOpStatusDetails",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Id of Job/Srlg Operation for which details needs to be searched",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Job Status returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgManualJobDetailsOpResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v2/srlg/srlgMismatch": {
            "get": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "Search resources which have srlg mismatch",
                "description": "<h3>Description:</h3><br/><p>This API helps to query about the mismatch of Srlg Values present on resources.<br/></p><br/>",
                "operationId": "getSrlgMismatchResources",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "NetworkConstruct id for which srlg mismatched resource to be found.No value indicates find for all NetworkConstructs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Allowed value : tpes",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "resourceId if in particular",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgMismatchResponseV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v2/srlg/{srlgValue}/assignmentDetails": {
            "get": {
                "tags": [
                    "SRLG v2"
                ],
                "summary": "Search resources which have been assigned with given SRLG value",
                "description": "<h3>Description:</h3><br/><p>This API provides search capability to search resources for Srlg Values assigned on them.Different filters can be used to get details.</p><br/>",
                "operationId": "getResourcesFromSrlgValue",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "srlgValue",
                        "in": "path",
                        "description": "SrlgValue for which search is to be performed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "srlgType",
                        "in": "query",
                        "description": "Type of assignment (manual,auto,inherited,propagated,discovered,manualShare,propagatedShare). If no value provided lookup will be done for all types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Resource types on which SRLG assignment to be searched (fres,tpes,networkConstructs,equipments).equipment is also accepted. If no value provided lookup will be done for all types.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgResourceResponseV2"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v3/srlg": {
            "get": {
                "tags": [
                    "SRLG v3"
                ],
                "summary": "Get Srlg by Resource ID",
                "description": "<br/><h3>Description:</h3><p>This API provides functionality to get the details of srlg on resources using different parameters.</p><br/>",
                "operationId": "getSRLG",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Id of the Resource whose details needs to be searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Resource Type: fres, networkConstructs, equipments, tpes values.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "isStructured",
                        "in": "query",
                        "description": "Is Structured: (Y or N) Srlg Values needs to be shown in Structured Form or not",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "plannedStartTime",
                        "in": "query",
                        "description": "Fetch SRLG set on the basis of time.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "srlgType",
                        "in": "query",
                        "description": "Filter on types of Srlgs to limit search.Values could be: auto,manual,inherited,combined,propagated, discovered.In addition manualShare, propagatedShare or combinedShare can also be used for NetworkConstructs.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgIntentResponseV3"
                        }
                    },
                    "404": {
                        "description": "SRLG not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlg/associatedSrlgs": {
            "get": {
                "tags": [
                    "SRLG v3"
                ],
                "summary": "Provide details of SRLGs associated with the given resource",
                "description": "<h3>Description:</h3><br/><p>Following API provides details of SRLGs associated with given resource.Filters can be used to get details.</p><br/>",
                "operationId": "getSrlgAssociations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "Id of the Resource for which associated SRLG details are to be fetched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Resource Type for which associated SRLG details are to be fetched (fres,networkConstructs,equipments,tpes values)",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "srlgSource",
                        "in": "query",
                        "description": "Filter on types of Srlgs to limit search on association (auto,manual,propagated,discovered,manualShare,propagatedShare,discoveredShare values). If nothing is given, search will return on all possible values.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeMetaData",
                        "in": "query",
                        "description": "Indicate if metadata for filters need to be included",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Associated SRLGs details returned.",
                        "schema": {
                            "$ref": "#/definitions/AssociatedSrlgsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlg/job/status": {
            "get": {
                "tags": [
                    "SRLG v3"
                ],
                "summary": "Get SRLG Job operation status",
                "description": "<h3>Description:</h3><br/><p>This API provides functionality to get the Srlg Batch Operation's jobs status using different parameters.</p><br/><strong>*Provide atleast one of the following Parameters*</strong><p><ul><li>JobType<br/></li><li>JobId<br/></li><li>JobStatus<br/></li></ul><br/></p><br/>",
                "operationId": "jobOpStatus",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "query",
                        "description": "Id of Job/Srlg Operation",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobType",
                        "in": "query",
                        "description": "Type of Job/Srlg Operation.Values could be: auto_assign,clear_auto_assign,write_to_network,propagate,assign_external_srlg, release_external_srlg, propagate_share_srlg, clear_propagated_share_srlg, audit_fb_profile.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobStatus",
                        "in": "query",
                        "description": "Status of Job/Srlg Operation.Values could be: in_progress,completed,failed.",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Job Status returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgJobResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/ifd/api/v3/srlg/srlgMismatch": {
            "get": {
                "tags": [
                    "SRLG v3"
                ],
                "summary": "Search resources which have srlg mismatch",
                "description": "<h3>Description:</h3><br/><p>This API helps to query about the mismatch of Srlg Values present on resources.<br/></p><br/>",
                "operationId": "getSrlgMismatchResources",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "NetworkConstruct id for which srlg mismatched resource to be found.No value indicates find for all NetworkConstructs",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Allowed value : fres",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "fres"
                        ]
                    },
                    {
                        "name": "resourceId",
                        "in": "query",
                        "description": "resourceId if in particular",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Offset for the second page",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "The size of a returned page. The default is 30",
                        "required": false,
                        "type": "string",
                        "default": "30"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgMismatchResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlg/srlgMismatch/{mismatchId}/details": {
            "get": {
                "tags": [
                    "SRLG v3"
                ],
                "summary": "Get Srlg Mismatch details for given mismatchId",
                "description": "<h3>Description:</h3><br/><p>SRLG mismatch details<br/></p><br/>",
                "operationId": "getSrlgMismatchDetails",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "mismatchId",
                        "in": "path",
                        "description": "Srlg mismatch Id",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgMismatchDetailsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlg/{srlgValue}/assignmentDetails": {
            "get": {
                "tags": [
                    "SRLG v3"
                ],
                "summary": "Search resources which have been assigned with given SRLG value",
                "description": "<h3>Description:</h3><br/><p>This API provides search capability to search resources for Srlg Values assigned on them.Different filters can be used to get details.</p><br/>",
                "operationId": "getResourcesFromSrlgValue",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "srlgValue",
                        "in": "path",
                        "description": "SrlgValue for which search is to be performed",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "srlgSource",
                        "in": "query",
                        "description": "Type of assignment (manual,auto,inherited,propagated,discovered,manualShare,propagatedShare). If no value provided lookup will be done for all types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Resource types on which SRLG assignment to be searched (fres,tpes,networkConstructs,equipments). If no value provided lookup will be done for all types.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includeMetaData",
                        "in": "query",
                        "description": "Indicate if metadata for filters need to be included",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "succeed",
                        "schema": {
                            "$ref": "#/definitions/SrlgAssignmentDetailsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlgJobs": {
            "get": {
                "tags": [
                    "SRLG Jobs V3"
                ],
                "summary": "GET SRLG Job operation status",
                "description": "<h3>Description:</h3><br/><p>This API provides functionality to get the Srlg Batch Operation's jobs status using different parameters.</p><br/><strong>*Provide atleast one of the following Parameters*</strong><p><ul><li>JobType<br/></li><li>JobId<br/></li><li>JobStatus<br/></li></ul><br/></p><br/>",
                "operationId": "getJobs",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "fromTime",
                        "in": "query",
                        "description": " Jobs that completed after the given time",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toTime",
                        "in": "query",
                        "description": " Jobs that completed before the given time",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobType",
                        "in": "query",
                        "description": " Comma separated type of Job/Srlg Operation. Values could be: auto_assign,clear_auto_assign,write_to_network,propagate,assign_external_srlg, release_external_srlg, propagate_share_srlg, clear_propagated_share_srlg, audit_fb_profile, clear_manual_assign.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scheduleName",
                        "in": "query",
                        "description": "Schedule name to which the Srlg job belongs.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scope",
                        "in": "query",
                        "description": "Scope in which the Job would run",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobStatus",
                        "in": "query",
                        "description": "Status of Job/Srlg Operation.Values could be: in_progress,completed,failed.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scheduledOnly",
                        "in": "query",
                        "description": "Is job essentially kicked-off through  schedule API:  By default all jobs would be returned.",
                        "required": false,
                        "type": "boolean"
                    },
                    {
                        "name": "includeDetails",
                        "in": "query",
                        "description": "Include job details. By default only job status would be returned.",
                        "required": false,
                        "type": "boolean"
                    },
                    {
                        "name": "metaFields",
                        "in": "query",
                        "description": " Comma separated. Meta-data fields to include. Options are: jobStatus, jobType, scope, scheduleName ",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Jobs returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgJobResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlgJobs/{jobId}": {
            "get": {
                "tags": [
                    "SRLG Jobs V3"
                ],
                "summary": "GET SRLG Job operation status details",
                "description": "<h3>Description:</h3><br/><p>This API provides details about the srlg job operation status.Job id obtained from batch operation response needs to be used for tracking srlg operation.</p><br/>",
                "operationId": "getJobDetailsV3",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Id of Job/Srlg Operation for which details needs to be searched",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "downloadReport",
                        "in": "query",
                        "description": "(Optional) Download report Y/N. Default is No. Download  format is  JSON",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "SRLG Job Status returned.",
                        "schema": {
                            "$ref": "#/definitions/SrlgManualJobDetailsOpResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "SRLG Jobs V3"
                ],
                "summary": "Delete Srlg Job for given Id",
                "description": "",
                "operationId": "deleteSrlgJob",
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Srlg Job deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlgSchedules": {
            "get": {
                "tags": [
                    "SRLG Schedules v3"
                ],
                "summary": "Get all SRLG Job schedules",
                "description": "",
                "operationId": "getAllSchedules",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "scheduleName",
                        "in": "query",
                        "description": "Schedule name to which the Srlg job belongs.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "scope",
                        "in": "query",
                        "description": "Scope in which the Job would run",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "jobType",
                        "in": "query",
                        "description": "Type of Job/Srlg Operation.Values could be: auto_assign,clear_auto_assign,write_to_network,propagate,assign_external_srlg, release_external_srlg, propagate_share_srlg, clear_propagated_share_srlg, audit_fb_profile, clear_manual_assign.",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "frequency",
                        "in": "query",
                        "description": "Schedule frequency. Possible values are: ONCE, DAILY, WEEKLY, MONTHLY",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "metaFields",
                        "in": "query",
                        "description": " Comma separated. Meta-data fields to include. Options are: jobType, scope, scheduleName, frequency ",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All Srlg Schedule Jobs returned",
                        "schema": {
                            "$ref": "#/definitions/SrlgSchedulesResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Scheduler Job not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "SRLG Schedules v3"
                ],
                "summary": "SRLG Job Schedule api to create schedules",
                "description": "<h3>Description :</h3><p>This request is intended for SRLG(s) Schedule Creation.<p><h3>Schema Description: </h3><strong>scheduleName: </strong> unique name for schedule <br/><strong>scopeType: </strong> network<br/><strong>jobs: </strong> jobs to schedule<br/></p><br/><p>Here are some example requests:</p>\n```json\nSchedule Later :\n\n{\n  \"data\": {\n      \"type\": \"srlgJobsSchedule\",\n    \"attributes\": {\n      \"scheduleName\": \"Schedule1\",\n      \"scopeType\": \"network\",\n      \"cronExpression\": \"5 11 7 1/1 * ? *\",\n      \"cronExpressionFormat\": \"Quartz\",\n    \"jobs\": [\n \"auto_assign\",\n\"propagate\",\n \"write_to_network\"\n ]\n  }\n}\n}\n\nSchedule Now For Scope network:\n\n{\n  \"data\": {\n      \"type\": \"srlgJobsSchedule\",\n    \"attributes\": {\n      \"scheduleName\": \"Schedule1\",\n      \"scopeType\": \"network\",\n    \"jobs\": [\n \"auto_assign\",\n\"propagate\",\n \"write_to_network\"\n ]\n  }\n}\n}\n\nSchedule Now For Scope subNetwork:\n\n{\n  \"data\": {\n      \"type\": \"srlgJobsSchedule\",\n    \"attributes\": {\n      \"scheduleName\": \"Schedule1\",\n      \"scopeType\": \"subNetwork\",\n      \"scopeValue\": \"EastRegion\",\n    \"jobs\": [\n \"auto_assign\",\n\"propagate\",\n ]\n  }\n}\n}\n",
                "operationId": "createSchedule",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLG Schedule Job request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgScheduleRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "SRLG Schedule Created.",
                        "schema": {
                            "$ref": "#/definitions/SrlgScheduleResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlgSchedules/allowedJobs": {
            "get": {
                "tags": [
                    "SRLG Schedules v3"
                ],
                "summary": "Get display models for SRLG Scheduler UI",
                "description": "",
                "operationId": "getAllowedJobs",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Display models for SRLG Scheduler UI returned",
                        "schema": {
                            "$ref": "#/definitions/SrlgScheduleModelsResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Display models for SRLG Scheduler UI not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/ifd/api/v3/srlgSchedules/{scheduleId}": {
            "delete": {
                "tags": [
                    "SRLG Schedules v3"
                ],
                "summary": "Delete Srlg Job Schedule for schedule Id",
                "description": "",
                "operationId": "deleteSchedule",
                "parameters": [
                    {
                        "name": "scheduleId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Srlg Schedule  deleted"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "SRLG Schedule not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat": {
            "get": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Retrieves the srlg Format",
                "description": "<p>LATEST VERSION: V3</p>\n\n<p>This API returns Srlg Format in JSON format.</p>",
                "operationId": "getSrlgFormat",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested Srlg Format.",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Srlg Format.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "PATCH a srlg Format",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /\n<h3>Description :</h3><p>This request is intended for SRLG Format patch operations.<br/><p><h3>Schema Description: </h3><strong>forceUpdate: </strong>true,when Srlg Format needs to be force changed<br/><strong>isEnabled: </strong> shows if the format is enabled at present or not <br/><strong>type: </strong> Type of Srlg format(structured,opaque)<br/><strong>length: </strong> Length of Srlg Value<br/><strong>displayFormat: </strong> Display Format of Srlg Value (decimal,bit,hexadecimal,enum)<br/><strong>structure: </strong> describe various fields which forms resultant SRLG(subnetwork,risktype,riskValue)<br/></p><br/><p>Here is an example request:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"replace\",\n\"forceUpdate\": true,\n\"attributes\": {\n\"isEnabled\": true,\n\"type\": \"structured\",\n\"length\": 32,\n\"displayFormat\": \"decimal\",\n\"structure\": [\n{\n\"name\": \"subNetwork\",\n\"displayName\": \"Region\",\n\"startPos\": 4,\n\"length\": 5,\n\"displayFormat\": \"enum\",\n\"isPoolIdentifier\": true\n},\n{\n\"name\": \"riskType\",\n\"displayName\": \"riskType\",\n\"startPos\": 9,\n\"length\": 4,\n\"displayFormat\": \"enum\",\n\"isPoolIdentifier\": true\n},\n{\n\"name\": \"riskValue\",\n\"displayName\": \"riskValue\",\n\"startPos\": 13,\n\"length\": 20,\n\"displayFormat\": \"decimal\"\n}\n]\n}\n}\n]\n}\n</code></pre>",
                "operationId": "patchSrlgFormat",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given format.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatPatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is successfully processed",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/assignableEntityConfigurations": {
            "get": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Retrieves the srlg Assignable Entity Configurations satisfying the query parameters",
                "description": "<p>LATEST VERSION: V3</p>\n <p>This API returns Srlg Assignable Entity Configurations in JSON format.Entity Type/RiskType can be used to filter the configuration.</p>",
                "operationId": "getAssignableEntityConfigurations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "entityType",
                        "in": "query",
                        "description": "entityType i.e. fres,networkConstructs,equipments",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "riskType",
                        "in": "query",
                        "description": "riskType (RiskTypes can be found from : GET /nsi/api/srlgformat/srlgFormatMappings?type=riskType)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested Srlg assignableEntityConfigurations.",
                        "schema": {
                            "$ref": "#/definitions/SrlgAssignableEntityConfigurationListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Srlg assignableEntityConfigurations.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/assignableEntityConfigurations/{assignableEntityConfigId}": {
            "patch": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "PATCH the Criteria for Auto-assignable Entities to be considered",
                "description": "<p>LATEST VERSION: V3</p>\n<p>Upon success, code 200 is returned and the output consists of JSON objects representing the effective config criteria. Only one mapping can be given in payload for patch.\nUser can only replace the entire entity config for a given entity type.<br/>\nNote: If any of the config criteria given has syntax or validation issue, system will throw Error and will not update the config</p>\n<p>Example of the payload is given below:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"entityType\": \"equipments\",\n        \"filters\": [\n          {\n            \"riskType\": \"Add/Drop Bank\",\n            \"criteria\": [\n              {\n                \"name\": \"partNumber\",\n                \"values\": [\n                  \"NTK723AA\",\n                  \"NTK720CA\"\n                ]\n              }\n            ]\n          },\n          {\n            \"riskType\": \"Line Module\",\n            \"criteria\": [\n              {\n                \"name\": \"partNumber\",\n                \"values\": [\n                  \"NTK762MA\",\n                  \"NTK762EA\",\n                  \"NTK761AA\"\n                ]\n              }\n            ]\n          },\n          {\n            \"riskType\": \"ROADM Degree\",\n            \"criteria\": [\n              {\n                \"name\": \"partNumber\",\n                \"values\": [\n                  \"NTK722AA\"\n                ]\n              }\n            ]\n          }\n        ]\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchAssignableEntityConfig",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "assignableEntityConfigId",
                        "in": "path",
                        "description": "assignableEntityConfigId e.g. assignableEntityConfiguration::equipments",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given format.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AssignableEntityConfigPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The assignable Entity configurations were successfully modified",
                        "schema": {
                            "$ref": "#/definitions/SrlgAssignableEntityConfigDataRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/assignableEntityConfigurations/{entityType}/riskTypes": {
            "get": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Retrieves the srlg riskTypes satisfying the query parameters",
                "description": "<p>LATEST VERSION: V3\n <p>This API returns Srlg riskTypes in JSON format.</p>",
                "operationId": "getRiskTypes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "entityType",
                        "in": "path",
                        "description": "entityType i.e. fres,networkConstructs,equipments",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested Srlg riskTypes for given EntityType.",
                        "schema": {
                            "$ref": "#/definitions/SrlgAssignableEntitiesListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Srlg riskTypes for given EntityType.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/propagatableServiceConfigurations": {
            "post": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "POST SRLG Format propagatable service configurations",
                "description": "<p>This API is used to post the Srlg Format propagatable service configurations to be considered.<br/>\n<p><h3>Schema Notes: </h3><strong>serviceClass: </strong>currently supported : IP, OTU,LAG <br/><strong>isPropagatableTarget: </strong>allowed only for IP service class.<br/><strong>writeToNetwork: </strong> allowed only for IP service class<br/><strong>protectionSrlgInclusion : </strong> Only for LAG service class<br/><strong>priority: </strong> Positive whole number describing order of pruning<br/><strong>Masks: </strong> Type of Masks for pruning.(Can be Opaque/Structured)<br/><strong>FieldName: </strong> should be as per configured in format(subNetwork,riskType,riskValue)<br/></p><br/>Upon success, code 201 is returned and the output consists of JSON objects representing the created service configs.<br/>\nNote: If any of the mapping payload requested to be created is present already or have syntax error, system will throw Error.</p><p>Here is an example request for structured masks in pruning config:</p><pre style='font-size: smaller'><code class='json'>{\n  \"type\": \"propagatableServiceConfiguration\", \n      \"attributes\": {\n        \"serviceDescription\": \"Ip Link\",\n        \"serviceClass\": \"IP\",\n        \"isPropagatableTarget\": true,\n        \"writeToNetwork\": true,\n        \"pruningConfig\": {\n          \"maxAllowedSrlgs\": 20,\n          \"structuredMasks\": [\n            {\n              \"priority\": 1,\n              \"fieldMasks\": [\n                {\n                  \"name\": \"riskType\",\n                  \"value\": \"Add/Drop Bank\"\n                },\n                {\n                  \"name\": \"subNetwork\",\n                  \"value\": \"EastRegion\"\n                }\n               ]\n             },\n             {\n              \"priority\": 2,\n              \"fieldMasks\": [\n                {\n                  \"name\": \"riskType\",\n                  \"value\": \"Line Module\"\n                }\n               ]\n             }\n            ]\n          }\n        }\n}</code></pre><p>or Another example request for opaque masks in pruning config:</p><pre style='font-size: smaller'><code class='json'>{\n  \"type\": \"propagatableServiceConfiguration\", \n      \"attributes\": {\n        \"serviceDescription\": \"Ip Link\",\n        \"serviceClass\": \"IP\",\n        \"isPropagatableTarget\": true,\n        \"writeToNetwork\": true,\n        \"pruningConfig\": {\n          \"maxAllowedSrlgs\": 20,\n          \"opaqueMasks\": [\n            \"25165830\",\n            \"25165828\"\n            ]\n          }\n        }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postSrlgPropagatableServiceConfig",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A Post request to add new name/value definitions for srlg propagatable service configurations",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    },
                    "201": {
                        "description": "The propagatable service configs are successfully created",
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified config",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Deletes SRLG Format propagatable service configurations",
                "description": "<p>This API can be used to delete any existing Srlg Propagatable Service Configurations defined.\n\nUpon success, code 200 is returned and the output consists of JSON objects representing the deleted Configurations. <br/>\nNote: If any of the configurations requested to be deleted is not present, system will throw Error</p><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"id\": \"propagatableServiceConfiguration::IP\", \n  \"type\": \"propagatableServiceConfiguration\" \n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "deleteSrlgPropagationServiceConfig",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A delete request to delete definitions for Srlg Propagatable Service Configuration",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The propagatable service config were successfully deleted",
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfiguration"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified configs",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/propagatableServiceConfigurations/{propagatableServiceConfigId}": {
            "patch": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "PATCH the Criteria for Propagatable Services Config to be considered",
                "description": "<p>Upon success, code 200 is returned and the output consists of JSON objects representing the effective config criteria\n<p><h3>Schema Notes: </h3><strong>serviceClass: </strong>currently supported : IP, OTU,LAG <br/><strong>isPropagatableTarget: </strong>allowed only for IP service class.<br/><strong>writeToNetwork: </strong> allowed only for IP service class<br/><strong>protectionSrlgInclusion : </strong> Only for LAG service class<br/><strong>priority: </strong> Positive whole number describing order of pruning<br/><strong>Masks: </strong> Type of Masks for pruning.(Can be Opaque/Structured)<br/><strong>FieldName: </strong> should be as per configured in format(subNetwork,riskType,riskValue)<br/></p><br/>\nNote: If any of the config criteria given has syntax or validation issue, system will throw Error and will not update the config</p><p>Example of the payload is given below:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"serviceDescription\": \"Ip Link\",\n        \"serviceClass\": \"IP\",\n        \"isPropagatableTarget\": true,\n        \"writeToNetwork\": true,\n        \"pruningConfig\": {\n          \"maxAllowedSrlgs\": 20,\n          \"structuredMasks\": [\n            {\n              \"priority\": 1,\n              \"fieldMasks\": [\n                {\n                  \"name\": \"riskType\",\n                  \"value\": \"Add/Drop Bank\"\n                },\n                {\n                  \"name\": \"subNetwork\",\n                  \"value\": \"EastRegion\"\n                }\n               ]\n             },\n             {\n              \"priority\": 2,\n              \"fieldMasks\": [\n                {\n                  \"name\": \"riskType\",\n                  \"value\": \"Line Module\"\n                }\n               ]\n             }\n            ]\n          }\n        }\n    }\n  ]\n}</code></pre><p>or Another example request for opaque masks in pruning:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"serviceDescription\": \"Ip Link\",\n        \"serviceClass\": \"IP\",\n        \"isPropagatableTarget\": true,\n        \"writeToNetwork\": true,\n        \"pruningConfig\": {\n          \"maxAllowedSrlgs\": 20,\n          \"opaqueMasks\": [\n            \"25165830\",\n            \"25165828\"\n            ]\n          }\n        }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPropagatableEntityConfig",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "propagatableServiceConfigId",
                        "in": "path",
                        "description": "propagatableServiceConfigId e.g. propagatableServiceConfiguration::IP",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given format.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PropagatableServiceConfigPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The propagatable Entity configurations were successfully modified",
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Config",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/srlg/transform": {
            "post": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Encode/Decode Srlg values from Native To Structured SRLG as per the configured Srlg format",
                "description": "<p>LATEST VERSION: V4<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /\n\nNOTE : Upon success, code 200 is returned and the output consists of JSON objects representing the srlg values in opaque/structured format.\nIf any of the srlg value to be transformed is not as per Srlg format defined system will throw Error with code 400 : Bad Request.<br/>\n<p>Here is an example request for transforming Opaque Values:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgValues\": [\n\"202375169\",\n\"202375170\"\n]\n}\n}\n</code></pre>\n\n<p>Here is an example request for transforming Structured Values:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgStructuredValues\": [\n{\n \"riskValue\": \"3\",\"riskType\": \"Photonic Node\",\"Region\": \"subNetwork1\"},\n{\n \"riskValue\": \"2\",\"riskType\": \"Photonic Node\",\"Region\": \"subNetwork1\"}\n]\n}\n}\n</code></pre>",
                "operationId": "transformSrlg",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A post request to transform Srlg value.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/srlg/validate": {
            "post": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Validate a set of given Srlg against the configured format",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /\nNOTE : Upon success, code 200 is returned and the output consists of JSON objects representing the srlg values in opaque/structured format.<br/>\nIf any of the srlg value to be validated is not as per Srlg format defined system will throw Error with code 500 : Internal Server Error.</p>\n\n<p>Here is an example request for Validating Opaque Value:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgValues\": [\n\"202375169\"\n]\n}\n}\n</code></pre>\n\n<p>Here is an example request for Validating Structured Value:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgStructuredValues\": [\n{\n \"riskValue\": \"3\",\"riskType\": \"Photonic Node\",\"Region\": \"subNetwork1\"}\n]\n}\n}\n</code></pre>",
                "operationId": "validateSrlg",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A post request to validate SRLG.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Supplied SRLG Value/s are valid as per configured SRLG format",
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/srlgAutoAssignment": {
            "put": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Sets the Srlg auto assignment behavior",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "setSrlgAutoAssignmentBehavior",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "isAutoAssignmentOn",
                        "description": "The desired Auto-assignment behavior",
                        "required": true,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is successfully processed",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/srlgformat/srlgFormatMappings": {
            "get": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Retrieves the srlg Format Mappings satisfying the query parameters",
                "description": "<p>LATEST VERSION: V3\n <br/><p>This API returns Srlg Format Mappings in JSON format.If no value for type filter will be given,all types will be considered.</p>",
                "operationId": "getSrlgFormatMappings",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "description": "type i.e. riskType, subNetwork",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested Srlg Format.",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Srlg Format Mappings.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "POST SRLG Format mapping definitions",
                "description": "<p>LATEST VERSION: V3</p>\n<p>This API is used to post the Srlg Format mappings to be considered.<br/>\nUpon success, code 201 is returned and the output consists of JSON objects representing the created mappings. More than one maping can be given in payload for creation at a time<br/>\nNote: If any of the mapping payload requested to be created is present already or have syntax error, system will throw Error with list of validation errors</p><p>All the attributes other than identifiers and types and attribute(name, value pair)  will be ignored. Note: system will always auto-generate the id</p><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": [\n    {\n      \"type\": \"subNetwork\",\n      \"attributes\": {\n        \"name\": \"network1\",\n        \"value\": \"1\"\n      }\n    },\n    {\n      \"type\": \"subNetwork\",\n      \"attributes\": {\n        \"name\": \"network2\",\n        \"value\": \"2\"\n      }\n    },\n    {\n      \"type\": \"riskType\",\n      \"attributes\": {\n        \"name\": \"riskType1\",\n        \"value\": \"1\"\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postSrlgFormatMappings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given format.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    },
                    "201": {
                        "description": "The request is successfully processed",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Deletes SRLG Format mapping definitions",
                "description": "<p>LATEST VERSION: V3</p>\n<p>This API can be used to delete any existing Srlg Format mappings defined.\n\nUpon success, code 200 is returned and the output consists of JSON objects representing the deleted mappings. More than one maping can be given in payload for deletion at a time.<br/>\nNote: If any of the mapping requested to be deleted is not present, system will throw Error with list of validation errors</p><p>All the attributes other than identifiers and types will be ignored.</p><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": [\n    {\n      \"id\": \"subNetwork::network1\",\n      \"type\": \"subNetwork\"\n    },\n    {\n      \"id\": \"subNetwork::network2\",\n      \"type\": \"subNetwork\"\n    },\n    {\n      \"id\": \"riskType::riskType1\",\n      \"type\": \"riskType\"\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "deleteSrlgFormatMappings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A delete request to delete definitions for SrlgFormatMappings",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The mappings were successfully deleted",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgformat/srlgPropagation": {
            "put": {
                "tags": [
                    "997 - nsiapisrlgformat"
                ],
                "summary": "Sets the Propagation behavior",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "setSrlgPropagationBehavior",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "isPropagationOn",
                        "description": "The desired propagation behavior",
                        "required": true,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is successfully processed",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/srlgformat": {
            "get": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "Retrieves the Srlg Format",
                "description": "<p>This API returns Srlg Format in JSON format.</p>",
                "operationId": "getSrlgFormat",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the Srlg Format.",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatRO"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Srlg Format.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "patch": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "PATCH a srlg Format",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /\n<h3>Description :</h3><p>This request is intended for SRLG Format patch operations.<br/><p><h3>Schema Description: </h3><strong>forceUpdate: </strong>true,when Srlg Format needs to be force changed<br/><strong>isEnabled: </strong> shows if the format is enabled at present or not <br/><strong>type: </strong> Type of Srlg format(structured,opaque)<br/><strong>length: </strong> Length of Srlg Value<br/><strong>displayFormat: </strong> Display Format of Srlg Value (decimal,bit,hexadecimal,enum)<br/><strong>structure: </strong> describe various fields which forms resultant SRLG(subnetwork,risktype,riskValue)<br/></p><br/><p>Here is an example request:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"operations\": [\n{\n\"op\": \"replace\",\n\"forceUpdate\": true,\n\"attributes\": {\n\"isEnabled\": true,\n\"type\": \"structured\",\n\"length\": 32,\n\"displayFormat\": \"decimal\",\n\"structure\": [\n{\n\"name\": \"subNetwork\",\n\"displayName\": \"Region\",\n\"startPos\": 4,\n\"length\": 5,\n\"displayFormat\": \"enum\",\n\"isPoolIdentifier\": true\n},\n{\n\"name\": \"riskType\",\n\"displayName\": \"riskType\",\n\"startPos\": 9,\n\"length\": 4,\n\"displayFormat\": \"enum\",\n\"isPoolIdentifier\": true\n},\n{\n\"name\": \"riskValue\",\n\"displayName\": \"riskValue\",\n\"startPos\": 13,\n\"length\": 20,\n\"displayFormat\": \"decimal\"\n}\n]\n}\n}\n]\n}\n",
                "operationId": "patchSrlgFormat",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given format.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatPatchRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is accepted and is being handled on backend server",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/assignableEntityConfigurations": {
            "get": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "Retrieves the srlg Assignable Entity Configurations satisfying the query parameters",
                "description": "<p>This API returns Srlg Assignable Entity Configurations in JSON format.Entity Type/RiskType can be used to filter the configuration.</p>",
                "operationId": "getAssignableEntityConfigurations",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "entityType",
                        "in": "query",
                        "description": "entityType i.e. fres,networkConstructs,equipments",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "riskType",
                        "in": "query",
                        "description": "riskType (RiskTypes can be found from : GET /nsi/api/srlgformat/srlgFormatMappings?type=riskType)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested Srlg assignableEntityConfigurations.",
                        "schema": {
                            "$ref": "#/definitions/SrlgAssignableEntityConfigurationListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Srlg assignableEntityConfigurations.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/assignableEntityConfigurations/{assignableEntityConfigId}": {
            "patch": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "PATCH the Criteria for Auto-assignable Entities to be considered",
                "description": "<p>Upon success, code 200 is returned and the output consists of JSON objects representing the effective config criteria. Only one mapping can be given in payload for patch.\nUser can only replace the entire entity config for a given entity type.<br/>\nNote: If any of the config criteria given has syntax or validation issue, system will throw Error and will not update the config</p><p>Example of the payload is given below:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"entityType\": \"equipments\",\n        \"filters\": [\n          {\n            \"riskType\": \"Add/Drop Bank\",\n            \"criteria\": [\n              {\n                \"name\": \"partNumber\",\n                \"values\": [\n                  \"NTK723AA\",\n                  \"NTK720CA\"\n                ]\n              }\n            ]\n          },\n          {\n            \"riskType\": \"Line Module\",\n            \"criteria\": [\n              {\n                \"name\": \"partNumber\",\n                \"values\": [\n                  \"NTK762MA\",\n                  \"NTK762EA\",\n                  \"NTK761AA\"\n                ]\n              }\n            ]\n          },\n          {\n            \"riskType\": \"ROADM Degree\",\n            \"criteria\": [\n              {\n                \"name\": \"partNumber\",\n                \"values\": [\n                  \"NTK722AA\"\n                ]\n              }\n            ]\n          }\n        ]\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchAssignableEntityConfig",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "assignableEntityConfigId",
                        "in": "path",
                        "description": "assignableEntityConfigId e.g. assignableEntityConfiguration::equipments",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given format.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/AssignableEntityConfigPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The assignable Entity configurations were successfully modified",
                        "schema": {
                            "$ref": "#/definitions/SrlgAssignableEntityConfigDataRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/assignableEntityConfigurations/{entityType}/riskTypes": {
            "get": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "Retrieves the srlg riskTypes satisfying the query parameters",
                "description": "<p>This API returns Srlg riskTypes in JSON format.</p>",
                "operationId": "getRiskTypes",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "entityType",
                        "in": "path",
                        "description": "entityType i.e. fres,networkConstructs,equipments",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested Srlg Srlg riskTypes for given EntityType.",
                        "schema": {
                            "$ref": "#/definitions/SrlgAssignableEntitiesListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Srlg Srlg riskTypes for given EntityType.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/propagatableServiceConfigurations": {
            "post": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "POST SRLG Format propagatable service configurations",
                "description": "<p>This API is used to post the Srlg Format propagatable service configurations to be considered.<br/>\n<br/><p><h3>Schema Notes: </h3><strong>serviceClass: </strong>currently supported : IP, OTU,LAG <br/><strong>isPropagatableTarget: </strong>allowed only for IP service class.<br/><strong>writeToNetwork: </strong> allowed only for IP service class<br/><strong>protectionSrlgInclusion : </strong> Only for LAG service class<br/><strong>priority: </strong> Positive whole number describing order of pruning<br/><strong>Masks: </strong> Type of Masks for pruning.(Can be Opaque/Structured)<br/><strong>FieldName: </strong> should be as per configured in format(subNetwork,riskType,riskValue)<br/></p><br/>Upon success, code 201 is returned and the output consists of JSON objects representing the created service config.<br/>\nNote: If any of the service config requested to be created is present already or have syntax error, system will throw Error.</p><p>Here is an example request for structured masks:</p><pre style='font-size: smaller'><code class='json'>{\n  \"type\": \"propagatableServiceConfiguration\", \n      \"attributes\": {\n        \"serviceDescription\": \"Ip Link\",\n        \"serviceClass\": \"IP\",\n        \"isPropagatableTarget\": true,\n        \"writeToNetwork\": true,\n        \"pruningConfig\": {\n          \"maxAllowedSrlgs\": 20,\n          \"structuredMasks\": [\n            {\n              \"priority\": 1,\n              \"fieldMasks\": [\n                {\n                  \"name\": \"riskType\",\n                  \"value\": \"Add/Drop Bank\"\n                },\n                {\n                  \"name\": \"subNetwork\",\n                  \"value\": \"EastRegion\"\n                }\n               ]\n             },\n             {\n              \"priority\": 2,\n              \"fieldMasks\": [\n                {\n                  \"name\": \"riskType\",\n                  \"value\": \"Line Module\"\n                }\n               ]\n             }\n            ]\n          }\n        }\n\n}</code></pre><p>or Another example request for opaque masks in pruning:</p><pre style='font-size: smaller'><code class='json'>{\n  \"type\": \"propagatableServiceConfiguration\", \n      \"attributes\": {\n        \"serviceDescription\": \"Ip Link\",\n        \"serviceClass\": \"IP\",\n        \"isPropagatableTarget\": true,\n        \"writeToNetwork\": true,\n        \"pruningConfig\": {\n          \"maxAllowedSrlgs\": 20,\n          \"opaqueMasks\": [\n            \"25165830\",\n            \"25165828\"\n            ]\n          }\n        }\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postSrlgPropagatableServiceConfig",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A Post request to add new name/value definitions for srlg propagatable service configurations",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    },
                    "201": {
                        "description": "The propagatable service configs are successfully created",
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified config",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "Deletes SRLG Format propagatable service configurations",
                "description": "<p>This API can be used to delete any existing Srlg Propagatable Service Configurations defined.\n\nUpon success, code 200 is returned and the output consists of JSON objects representing the deleted Configurations.<br/>\nNote: If any of the configurations requested to be deleted is not present, system will throw Error & will not delete any configuration</p><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"id\": \"propagatableServiceConfiguration::IP\", \n  \"type\": \"propagatableServiceConfiguration\" \n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "deleteSrlgPropagationServiceConfig",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A delete request to delete definitions for Srlg Propagatable Service Configuration",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The configs were successfully deleted",
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfiguration"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified configs",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/propagatableServiceConfigurations/{propagatableServiceConfigId}": {
            "patch": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "PATCH the Criteria for Propagatable Services Config to be considered",
                "description": "<p>Upon success, code 200 is returned and the output consists of JSON objects representing the effective config criteria\n<p><h3>Schema Notes: </h3><strong>serviceClass: </strong>currently supported : IP, OTU,LAG <br/><strong>isPropagatableTarget: </strong>allowed only for IP service class.<br/><strong>writeToNetwork: </strong> allowed only for IP service class<br/><strong>protectionSrlgInclusion : </strong> Only for LAG service class<br/><strong>priority: </strong> Positive whole number describing order of pruning<br/><strong>Masks: </strong> Type of Masks for pruning.(Can be Opaque/Structured)<br/><strong>FieldName: </strong> should be as per configured in format(subNetwork,riskType,riskValue)<br/></p><br/>\nNote: If any of the config criteria given has syntax or validation issue, system will throw Error and will not update the config</p><p>Example of the payload is given below:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"serviceDescription\": \"Ip Link\",\n        \"serviceClass\": \"IP\",\n        \"isPropagatableTarget\": true,\n        \"writeToNetwork\": true,\n        \"pruningConfig\": {\n          \"maxAllowedSrlgs\": 20,\n          \"structuredMasks\": [\n            {\n              \"priority\": 1,\n              \"fieldMasks\": [\n                {\n                  \"name\": \"riskType\",\n                  \"value\": \"Add/Drop Bank\"\n                },\n                {\n                  \"name\": \"subNetwork\",\n                  \"value\": \"EastRegion\"\n                }\n               ]\n             },\n             {\n              \"priority\": 2,\n              \"fieldMasks\": [\n                {\n                  \"name\": \"riskType\",\n                  \"value\": \"Line Module\"\n                }\n               ]\n             }\n            ]\n          }\n        }\n    }\n  ]\n}</code></pre><p>or Another example request for opaque masks in pruning:</p><pre style='font-size: smaller'><code class='json'>{\n  \"operations\": [\n    {\n      \"op\": \"replace\",\n      \"attributes\": {\n        \"serviceDescription\": \"Ip Link\",\n        \"serviceClass\": \"IP\",\n        \"isPropagatableTarget\": true,\n        \"writeToNetwork\": true,\n        \"pruningConfig\": {\n          \"maxAllowedSrlgs\": 20,\n          \"opaqueMasks\": [\n            \"25165830\",\n            \"25165828\"\n            ]\n          }\n        }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "patchPropagatableEntityConfig",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "propagatableServiceConfigId",
                        "in": "path",
                        "description": "propagatableServiceConfigId e.g. propagatableServiceConfiguration::IP",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A patch request to the given format.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PropagatableServiceConfigPatchRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The propagatable Entity configurations were successfully modified",
                        "schema": {
                            "$ref": "#/definitions/SrlgPropagatableServiceConfigDataRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Config",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/srlg/transform": {
            "post": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "POST a srlg value Transform",
                "description": "<p><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /\nNOTE : Upon success, code 200 is returned and the output consists of JSON objects representing the srlg values in opaque/structured format<br/>\nIf any of the srlg value to be transformed is not as per Srlg format defined system will throw Error with code 400 : Bad Request.</p>\n\n<p>Here is an example request for transforming Opaque Values:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgValues\": [\n\"202375169\",\n\"202375170\"\n]\n}\n}\n</code></pre>\n\n<p>Here is an example request for transforming Structured Values:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgStructuredValues\": [\n{\n \"riskValue\": \"3\",\"riskType\": \"Photonic Node\",\"Region\": \"subNetwork1\"},\n{\n \"riskValue\": \"2\",\"riskType\": \"Photonic Node\",\"Region\": \"subNetwork1\"}\n]\n}\n}\n</code></pre>",
                "operationId": "transformSrlg",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A post request to transform Srlg value",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Input is successfully translated",
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/srlg/validate": {
            "post": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "POST a srlg Validation",
                "description": "<p><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /\nNOTE : Upon success, code 200 is returned and the output consists of JSON objects representing the srlg values in opaque/structured format<br/>\nIf any of the srlg value to be validated is not as per Srlg format defined system will throw Error with code 500 : Internal Server Error.</p>\n\n<p>Here is an example request for Validating Opaque Values:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgValues\": [\n\"202375169\",\n\"202375170\"\n]\n}\n}\n</code></pre>\n\n<p>Here is an example request for Validating Structured Values:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgStructuredValues\": [\n{\n \"riskValue\": \"3\",\"riskType\": \"Photonic Node\",\"Region\": \"subNetwork1\"}\n]\n}\n}\n</code></pre>",
                "operationId": "validateSrlg",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A post request to validate SRLG.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Supplied SRLG Value/s are valid as per configured SRLG format",
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/srlgAutoAssignment": {
            "put": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "Sets the auto assignment behavior",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "setSrlgAutoAssignmentBehavior",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "isAutoAssignmentOn",
                        "description": "The desired Srlg auto assignment behavior",
                        "required": true,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is successfully processed",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v3/srlgformat/srlgFormatMappings": {
            "get": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "Retrieves the srlg Format Mappings satisfying the query parameters",
                "description": "<p>This API returns Srlg Format Mappings in JSON format.If no value for type filter will be given,all types will be considered.</p>",
                "operationId": "getSrlgFormatMappings",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "description": "type i.e. riskType, subNetwork",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved the requested Srlg Format.",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid value specified for a query parameter, or an invalid query parameter is specified",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to retrieve the requested Srlg Format Mappings.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "POST SRLG Format mapping definitions",
                "description": "<p>This API is used to post the Srlg Format mappings to be considered.<br/>\nUpon success, code 201 is returned and the output consists of JSON objects representing the created mappings. More than one maping can be given in payload for creation at a time<br/>\nNote: If any of the mapping payload requested to be created is present already or have syntax error, system will throw Error with list of validation errors</p><p>All the attributes other than identifiers and types and attribute(name, value pair)  will be ignored. Note: system will always auto-generate the id</p><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": [\n    {\n      \"type\": \"subNetwork\",\n      \"attributes\": {\n        \"name\": \"network1\",\n        \"value\": \"1\"\n      }\n    },\n    {\n      \"type\": \"subNetwork\",\n      \"attributes\": {\n        \"name\": \"network2\",\n        \"value\": \"2\"\n      }\n    },\n    {\n      \"type\": \"riskType\",\n      \"attributes\": {\n        \"name\": \"riskType1\",\n        \"value\": \"1\"\n      }\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "postSrlgFormatMappings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A Post request to add new name/value definitions for SrlgFormatMappings",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    },
                    "201": {
                        "description": "The mapping definitions are successfully created",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "Deletes SRLG Format mapping definitions",
                "description": "<p>This API can be used to delete any existing Srlg Format mappings defined.\n\nUpon success, code 200 is returned and the output consists of JSON objects representing the deleted mappings. More than one maping can be given in payload for deletion at a time<br/>\nNote: If any of the mapping requested to be deleted is not present, system will throw Error with list of validation errors and will not delete any mapping</p><p>All the attributes other than identifiers and types will be ignored.</p><p>Here is an example request:</p><pre style='font-size: smaller'><code class='json'>{\n  \"data\": [\n    {\n      \"id\": \"subNetwork::network1\",\n      \"type\": \"subNetwork\"\n    },\n    {\n      \"id\": \"subNetwork::network2\",\n      \"type\": \"subNetwork\"\n    },\n    {\n      \"id\": \"riskType::riskType1\",\n      \"type\": \"riskType\"\n    }\n  ]\n}</code></pre><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "deleteSrlgFormatMappings",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A delete request to delete definitions for SrlgFormatMappings",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "The mappings were successfully deleted",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatMappingListRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/nsi/api/v3/srlgformat/srlgPropagation": {
            "put": {
                "tags": [
                    "997 - nsiapiv3srlgformat"
                ],
                "summary": "Sets the Propagation behavior",
                "description": "<p>LATEST VERSION: V3<p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /",
                "operationId": "setSrlgPropagationBehavior",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "isPropagationOn",
                        "description": "The desired propagation behavior",
                        "required": true,
                        "schema": {
                            "type": "boolean"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "The request is successfully processed",
                        "schema": {
                            "$ref": "#/definitions/SrlgFormatRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                },
                "deprecated": true
            }
        },
        "/nsi/api/v4/srlgformat/srlg/transform": {
            "post": {
                "tags": [
                    "997 - nsiapiv4srlgformat"
                ],
                "summary": "POST a srlg value Transform",
                "description": "<p><p>The following characters are not supported in any id values, userData keys or identifier keys: { } : ? /\n\nNOTE : Upon success, code 200 is returned and the output consists of JSON objects representing thesrlg values in opaque/structured format\nIf any of the srlg value to be transformed is not as per Srlg format defined system will throw Error with code 400 : Bad Request.\n\n<p>Here is an example request for transforming Opaque Values:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgValues\": [\n\"202375169\",\n\"202375170\"\n]\n}\n}\n</code></pre>\n\n<p>Here is an example request for transforming Structured values:</p>\n\n <pre style='font-size: smaller'><code class='json'>{\n\"data\": {\n\"srlgStructuredValues\": [\n{\n \"riskValue\": \"3\",\"riskType\": \"Photonic Node\",\"Region\": \"subNetwork1\"},\n{\n \"riskValue\": \"2\",\"riskType\": \"Photonic Node\",\"Region\": \"subNetwork1\"}\n]\n}\n}\n</code></pre>",
                "operationId": "transformSrlg",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "A post request to transform Srlg value",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrlgValuesRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Input is successfully translated",
                        "schema": {
                            "$ref": "#/definitions/TransformedSrlgValuesRO"
                        }
                    },
                    "400": {
                        "description": "Invalid input supplied",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access specified Equipment",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error (error message provided)",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/srlgpool": {
            "post": {
                "tags": [
                    "997 - nsiapisrlgpool"
                ],
                "summary": "API to get next available SRLG or release SRLG for external pool.",
                "description": "",
                "operationId": "performExternalSRLGOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLGPoolOperation specifies operation to be performed on External Pool.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SRLGPoolOperationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucessfully generated next SRLG for external pool.",
                        "schema": {
                            "$ref": "#/definitions/ExternalSRLGRO"
                        }
                    },
                    "201": {
                        "description": "Successfully released SRLG from external pool."
                    },
                    "400": {
                        "description": "Invalid value specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access External Pool",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to assign/release SRLG to/from external pool.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/nsi/api/v1/srlgpool": {
            "post": {
                "tags": [
                    "997 - nsiapiv1srlgpool"
                ],
                "summary": "API to get next available SRLG or release SRLG for external pool.",
                "description": "",
                "operationId": "performExternalSRLGOperation",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRLGPoolOperation specifies operation to be performed on External Pool.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SRLGPoolOperationRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Sucessfully generated next SRLG for external pool.",
                        "schema": {
                            "$ref": "#/definitions/ExternalSRLGRO"
                        }
                    },
                    "201": {
                        "description": "Successfully released SRLG from external pool."
                    },
                    "400": {
                        "description": "Invalid value specified.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    },
                    "403": {
                        "description": "Forbidden to access External Pool",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Failed to assign/release SRLG to/from external pool.",
                        "schema": {
                            "$ref": "#/definitions/ErrorsRO"
                        }
                    }
                }
            }
        },
        "/submarine/api/v1/srs/scanRepeaters": {
            "get": {
                "tags": [
                    "Manage repeaters scan"
                ],
                "description": "Use this API to fetch the scan details for a particular scan.\n\nPrerequisite: SRS scan must exist for specified scan id.\n",
                "summary": "Get Scan Details",
                "parameters": [
                    {
                        "name": "scanId",
                        "in": "query",
                        "description": "Scan Id of a particular scan",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "rptr_sys_family",
                        "in": "query",
                        "description": "Family type of the repeater system",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "band",
                        "in": "query",
                        "description": "Scan data of given band, applicable for FAMILY_D",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved scan details.",
                        "schema": {
                            "title": "ScanDetailsData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "attributes": {
                                            "type": "object",
                                            "properties": {
                                                "additionalAttributes": {
                                                    "type": "object"
                                                },
                                                "scanData": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "result_time": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "familyType": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "span_loss_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "span_loss_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "status": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "iff_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "iff_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "raw_hex_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "raw_hex_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "scan_id": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "pump_current_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "label": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "raw_pump_current_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "raw_pump_current_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "direction": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "pump_current_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "output_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "output_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "raw_sll_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "raw_sll_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "RepeaterSystem": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "input_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "raw_rll_y": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "raw_rll_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "input_x": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    },
                                                                    "alarmSeverity": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            },
                                                            "repeater_address": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "value": {
                                                                        "type": "string"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "type": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find scanId parameter."
                    },
                    "500": {
                        "description": "Retrieval of scan data failed, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Manage repeaters scan"
                ],
                "description": "Use this API to start/view a submarine scan.\n\nPrerequisite: NE must be enrolled with ISS/OSIC card.\n",
                "summary": "Initatiate new scan",
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "NC ID of Network element",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "scanParams",
                        "in": "body",
                        "description": "Scan params needed to initiate the scan.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/scanNow"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scan successfully initiated.",
                        "schema": {
                            "title": "ScanInitaiedConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find ncId parameter."
                    },
                    "500": {
                        "description": "Scan initiation failed, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Manage repeaters scan"
                ],
                "description": "Use this API to delete the scan record for a particular scanid.\n\nPrerequisite: Scan record must exist for specified scanId.\n",
                "summary": "Delete Scan Record",
                "parameters": [
                    {
                        "name": "ids",
                        "in": "body",
                        "description": "Scan Id of the scan to be deleted",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ids"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted scan record."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find scanId parameter."
                    },
                    "500": {
                        "description": "Deletion of scan record failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/srs/historyScans": {
            "get": {
                "tags": [
                    "History scans"
                ],
                "description": "Use this API to fetch the scan history data.\n\nPrerequisite: \n",
                "summary": "Get History scan details",
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "ncId of the NE for which history scans need to be retrieved",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved history scans.",
                        "schema": {
                            "title": "ScanHistoryData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "scan_id": {
                                                "type": "string"
                                            },
                                            "status": {
                                                "type": "string"
                                            },
                                            "ne_name": {
                                                "type": "string"
                                            },
                                            "start_time": {
                                                "type": "string"
                                            },
                                            "run_by": {
                                                "type": "string"
                                            },
                                            "facility_aid": {
                                                "type": "string"
                                            },
                                            "is_baseline": {
                                                "type": "string"
                                            },
                                            "nc_id": {
                                                "type": "string"
                                            },
                                            "completed_time": {
                                                "type": "string"
                                            },
                                            "rptr_sys_family": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find ncId parameter."
                    },
                    "500": {
                        "description": "Retrieval of scan history data failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/srs/scheduleScan": {
            "get": {
                "tags": [
                    "Schedule scans"
                ],
                "description": "Use this API to fetch the Schedule scan details for a particular scan.\n\nPrerequisite: SRS Schedule Scan must exist for specified Schedule scan id.\n",
                "summary": "Get Schedule Details",
                "parameters": [
                    {
                        "name": "scheduleId",
                        "in": "query",
                        "description": "Scan Id of a particular scan",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "NC Id of a particular scan",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved Scheduled Scan data.",
                        "schema": {
                            "title": "Schedule Scan data",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "repeaterAID": {
                                                "type": "string"
                                            },
                                            "attributes": {
                                                "properties": {
                                                    "additionalAttributes": {
                                                        "properties": {},
                                                        "type": "object"
                                                    },
                                                    "neDetails": {
                                                        "properties": {
                                                            "ncId": {
                                                                "type": "string"
                                                            },
                                                            "neName": {
                                                                "type": "string"
                                                            },
                                                            "neType": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "scheduleDetails": {
                                                        "properties": {
                                                            "dayofMonth": {
                                                                "type": "string"
                                                            },
                                                            "nextExecutionTime": {
                                                                "type": "string"
                                                            },
                                                            "scheduleFrequency": {
                                                                "type": "string"
                                                            },
                                                            "scheduleTime": {
                                                                "type": "string"
                                                            },
                                                            "scheduleWeeklyDays": {
                                                                "properties": {
                                                                    "fri": {
                                                                        "type": "string"
                                                                    },
                                                                    "mon": {
                                                                        "type": "string"
                                                                    },
                                                                    "sat": {
                                                                        "type": "string"
                                                                    },
                                                                    "sun": {
                                                                        "type": "string"
                                                                    },
                                                                    "thu": {
                                                                        "type": "string"
                                                                    },
                                                                    "tue": {
                                                                        "type": "string"
                                                                    },
                                                                    "wed": {
                                                                        "type": "string"
                                                                    }
                                                                },
                                                                "type": "object"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "scheduleId": {
                                                        "type": "string"
                                                    },
                                                    "callbackId": {
                                                        "type": "string"
                                                    },
                                                    "scheduleName": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Retrieval of Scheduled scan data failed, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Schedule scans"
                ],
                "description": "Use this API to view a submarine Scheduled scan.\n\nPrerequisite: NE must be enrolled with ISS/OSIC card.\n",
                "summary": "Schedule a scan",
                "parameters": [
                    {
                        "name": "scheduleScan",
                        "in": "body",
                        "description": "Scan parameters to be Scheduled",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/scheduleScan"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scan successfully scheduled.",
                        "schema": {
                            "title": "ScanScheduledConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters"
                    },
                    "500": {
                        "description": "Scan Schedule failed, error message provided in logs and response."
                    }
                }
            },
            "delete": {
                "tags": [
                    "Schedule scans"
                ],
                "description": "Use this API to delete the Scheduled scan record for a particular Schedule ID.\n\nPrerequisite: Schedule Scan record must exist for specified scheduleId.\n",
                "summary": "Delete Schedule Scan Record",
                "parameters": [
                    {
                        "name": "ids",
                        "in": "body",
                        "description": "Schedule Scan Ids of the scans to be deleted",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ids"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted scan record."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find Schedule scanId parameter."
                    },
                    "500": {
                        "description": "Deletion of Schedule Scan record failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/srs/configUbmd2Loss": {
            "get": {
                "tags": [
                    "Configuration loss"
                ],
                "description": "Use this API to configure UBMD2 loss for each repeater system.",
                "summary": "Get config loss Details",
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "ncId of the network element",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "facilityAid",
                        "in": "query",
                        "description": "Family type of repeater system",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved configure loss data.",
                        "schema": {
                            "title": "ConfigureLossData",
                            "type": "object",
                            "properties": {
                                "tx_loss": {
                                    "type": "string"
                                },
                                "rx_loss": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find ncId,facId parameter."
                    },
                    "500": {
                        "description": "Retrieval of config loss data failed, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Configuration loss"
                ],
                "description": "Use this API to configure UBMD2 loss data",
                "summary": "Configure UBMD2 loss",
                "parameters": [
                    {
                        "name": "configLosses",
                        "in": "body",
                        "description": "Config loss parameters for specified repeater system.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/configLoss"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Scan successfully initiated.",
                        "schema": {
                            "title": "ScanInitaiedConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not find ncId parameter."
                    },
                    "500": {
                        "description": "Scan initiation failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/srs/scanThreshold": {
            "get": {
                "tags": [
                    "Set baseline scan"
                ],
                "description": "Use this api to set baseline of a scan for each repeater system.",
                "summary": "Get baseline details",
                "parameters": [
                    {
                        "name": "scanId",
                        "in": "query",
                        "description": "scanId of the scan to be baselined",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved baseline data.",
                        "schema": {
                            "title": "Baseline details",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "attributes": {
                                                "properties": {
                                                    "additionalAttributes": {
                                                        "properties": {},
                                                        "type": "object"
                                                    },
                                                    "neDetails": {
                                                        "properties": {
                                                            "facilityAid": {
                                                                "type": "string"
                                                            },
                                                            "scanId": {
                                                                "type": "string"
                                                            },
                                                            "rptrSysFamily": {
                                                                "type": "string"
                                                            },
                                                            "ncId": {
                                                                "type": "string"
                                                            }
                                                        },
                                                        "type": "object"
                                                    },
                                                    "baselineDetails": {
                                                        "properties": {},
                                                        "type": "object"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Data failed, error message provided in logs and response."
                    }
                }
            },
            "post": {
                "tags": [
                    "Set baseline scan"
                ],
                "description": "Use this API to set baseline of a scan for each repeater system.",
                "summary": "Save baseline details",
                "parameters": [
                    {
                        "name": "scanThreshold",
                        "in": "body",
                        "description": "Baseline parameters to be saved",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/scanThreshold"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Baseline successfully saved.",
                        "schema": {
                            "title": "BaselineConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters"
                    },
                    "500": {
                        "description": "Scan Schedule failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/srs/upload": {
            "post": {
                "tags": [
                    "Import"
                ],
                "description": "Use this API to import scan result, cable system, repeater system and slte files.\n\nPrerequisite: \n",
                "summary": "Import scan result, cable system, repeater system and slte files",
                "parameters": [
                    {
                        "name": "importType",
                        "in": "formData",
                        "description": "Type of file to be imported\n 1) 'Scan Details' to import scan results\n 2) 'cableSystem' to import cable system file\n 3) 'repeaterSystem' to import repeater system file \n 4) 'slteSystem' to import SLTE",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "file",
                        "in": "formData",
                        "description": "The file which has to be imported",
                        "required": true,
                        "type": "file"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Name of the Cable system. Field applicable only while importing repeater system file or slte system file",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "reImport",
                        "in": "formData",
                        "description": "To enable or disable reimport check\n 1) 'True' to enable reimport check\n 2) 'False' to disable reimport check",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All the files have been successfully imported",
                        "schema": {
                            "title": "Successfully Imported",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "202": {
                        "description": "Some of the files could not be imported",
                        "schema": {
                            "title": "Partially imported",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Already imported",
                        "schema": {
                            "title": "Already imported",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Import failed",
                        "schema": {
                            "title": "Import failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Cable System Details"
                ],
                "description": "Use this API to fetch cable system, repeater system, slte details",
                "summary": "Get cable system, repeater system, slte details",
                "parameters": [
                    {
                        "name": "detailsType",
                        "in": "query",
                        "description": "Type of data to be fetched\n 1) 'cableSystem' to fetch cable system details\n 2) 'repeaterSystem' to fetch repeater system details\n 3) 'slteSystem' to fetch SLTE details",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "in": "query",
                        "description": "Cable system name. Should be used while fetching repeater data or slte data",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved data",
                        "schema": {
                            "title": "Cable system details",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "attributes": {
                                                "type": "object",
                                                "properties": {
                                                    "additionalAttributes": {
                                                        "type": "object"
                                                    },
                                                    "cableStations": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "branchingUnits": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "description": {
                                                        "type": "string"
                                                    },
                                                    "branchingUnitsCount": {
                                                        "type": "integer"
                                                    },
                                                    "cableSystemFileName": {
                                                        "type": "string"
                                                    },
                                                    "customerNamesCount": {
                                                        "type": "integer"
                                                    },
                                                    "customerNames": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "powerNetworkName": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "repeaterSystemFileName": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "string"
                                                        }
                                                    },
                                                    "cableStationsCount": {
                                                        "type": "integer"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    }
                                                }
                                            },
                                            "type": {
                                                "type": "string"
                                            },
                                            "id": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Request failed",
                        "schema": {
                            "title": "Request failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Request failed",
                        "schema": {
                            "title": "Request failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Delete repeater, slte and cable descriptor files"
                ],
                "description": "Use this API to delete the repeater system, slte system or cable system file.\n\nPrerequisite: Cable system, slte system file must have been imported.\n",
                "summary": "Delete repeater, slte and cable descriptor files",
                "parameters": [
                    {
                        "name": "deleteType",
                        "in": "query",
                        "description": "Type of the descriptor file to be deleted\n 1) 'repeaterSystem' to delete repeater system file \n 2) 'slteSystem' to delete slte system file \n 3) 'cableSystem' to delete cable system file",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "data",
                        "in": "body",
                        "description": "1) 'repeater_attribute' to delete repeater system file \n 2) 'slte_attribute' to delete slte system file \n 3) 'cable_attribute' to delete cable system file",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/deleteDescriptorFile"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted descriptor file record."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not delete descriptor files."
                    },
                    "500": {
                        "description": "Deletion of descriptor file failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/srs/export": {
            "post": {
                "tags": [
                    "Export"
                ],
                "description": "Use this API to export scan data.\n\nPrerequisite: \n",
                "summary": "Export data",
                "parameters": [
                    {
                        "name": "ids",
                        "in": "body",
                        "description": "Scan Ids of the scans to be exported",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ids"
                        }
                    },
                    {
                        "name": "export_all",
                        "in": "query",
                        "description": "If true all scans will be Exported",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "All the files have been successfully exported"
                    },
                    "500": {
                        "description": "Export failed"
                    }
                }
            }
        },
        "/submarine/api/v1/srs/cableSystemDetails": {
            "get": {
                "tags": [
                    "Cable system Details"
                ],
                "description": "Use this API to fetch cable system topology, attributes and repeaters details.\n\nPrerequisite: Cable system, repeater and slte descriptor files should be imported.\n",
                "summary": "Get cable system topology view, attributes and repeaters details",
                "parameters": [
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Tab name inside topology page.\n 1) 'Topology' to view topology details\n 2) 'Attributes' to view cable attribute details\n 3) 'Repeater' to view repeater details",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "cableSystem",
                        "in": "query",
                        "description": "Cable system name",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "cableStation",
                        "in": "query",
                        "description": "Enter cable station to query Topology or Repeaters",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "segment",
                        "in": "query",
                        "description": "Enter segment to query Repeater",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "customer",
                        "in": "query",
                        "description": "Enter customer name to query Topology or Repeater",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fiberPair",
                        "in": "query",
                        "description": "Enter fiber pair to query Repeater or Topology",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved data.",
                        "schema": {
                            "title": "topologyData or attributes or repeaters",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "deviceName": {
                                                "type": "string"
                                            },
                                            "deviceType": {
                                                "type": "string"
                                            },
                                            "lattitude": {
                                                "type": "string"
                                            },
                                            "longitude": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Retrieval of data failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/srs/commitCableSystem": {
            "post": {
                "tags": [
                    "Add to inventory / Remove from inventory cable system configuration"
                ],
                "description": "Use this API to Add to inventory OR Remove from inventory cable system configuration\n\nPrerequisite: Customer specific SLTEs and TEMs servers are enrolled as mentioned in descriptor files.\n",
                "summary": "Commit cable system configuration for a customer",
                "parameters": [
                    {
                        "name": "data",
                        "in": "body",
                        "description": "Add to inventory / Remove from inventory cable system for a customer\n 1) Use operation_type as 'commit / cleanup' to apply cable descriptors changes on the network\n",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/commitCableSystem"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Cable system configuration is Added to inventory / Remove from inventory successfully",
                        "schema": {
                            "title": "CableSystemUpdateConfirmationMessage",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters"
                    },
                    "500": {
                        "description": "Failed to Add to inventory / Remove from inventory cable system configuration, details error message are provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/srs/trendData": {
            "get": {
                "tags": [
                    "Trend view"
                ],
                "description": "Get trend details for family A, B, C and D type repeaters",
                "summary": "Get trend details",
                "parameters": [
                    {
                        "name": "scanId",
                        "in": "query",
                        "description": "Scan Id of a scan",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "repeaterAddress",
                        "in": "query",
                        "description": "Address of the repeater",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time, valid time format is YYYY-MM-DDTHH:MM:SSZ",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "endTime",
                        "in": "query",
                        "description": "End Time, valid time format is YYYY-MM-DDTHH:MM:SSZ",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "band",
                        "in": "query",
                        "enum": [
                            "C",
                            "L"
                        ],
                        "description": "Band Type, Required for FAMILY_D",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved Trends data.",
                        "schema": {
                            "title": "trendsData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "attributes": {
                                                "type": "object",
                                                "properties": {
                                                    "trendReadings": {
                                                        "type": "array",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "parameterNative": {
                                                                    "type": "string"
                                                                },
                                                                "values": {
                                                                    "type": "array",
                                                                    "items": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "value": {
                                                                                "type": "string"
                                                                            },
                                                                            "startTime": {
                                                                                "type": "string"
                                                                            }
                                                                        }
                                                                    }
                                                                },
                                                                "power": {
                                                                    "type": "string"
                                                                }
                                                            }
                                                        }
                                                    },
                                                    "type": {
                                                        "type": "string"
                                                    },
                                                    "id": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters."
                    },
                    "500": {
                        "description": "Retrieval of Trends data failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/wetplant/components": {
            "get": {
                "tags": [
                    "Wetplant Components"
                ],
                "description": "Use this API to get wetplant components and their optical powers details like opm history and opm current data.",
                "summary": "Get wetplant details",
                "parameters": [
                    {
                        "name": "resourceType",
                        "in": "query",
                        "description": "Type of resource\n 1) 'opmDetails' to get the components data\n 2) 'opmHistory' to get the historical data\n 3) 'opmCurrent' to get the current opm data",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "cableSystem",
                        "in": "query",
                        "description": "Name of the cable system",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "temsServer",
                        "in": "query",
                        "description": "IP Address of Tems Server, required when resourceType is either 'opmCurrent' or 'opmHistory'",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "componentName",
                        "in": "query",
                        "description": "Name of component, required when resourceType is either 'opmCurrent' or 'opmHistory'",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "fromDate",
                        "in": "query",
                        "description": "Date and time from when the data is required, valid format is YYYY-MM-DDTHH:MM:SSZ, required when resourceType is 'opmHistory'",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "toDate",
                        "in": "query",
                        "description": "Date and time upto which the data is required, valid format is YYYY-MM-DDTHH:MM:SSZ, required when resourceType is 'opmHistory'",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved requested data.",
                        "schema": {
                            "title": "wetplantData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "attributes": {
                                            "type": "object",
                                            "properties": {
                                                "opmCurrent": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "parameterNative": {
                                                                "type": "string"
                                                            },
                                                            "values": {
                                                                "type": "string"
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "type": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Failed",
                        "schema": {
                            "title": "Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "message": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Delete optical power data "
                ],
                "description": "Use this API to delete the optical power data of all wetplant components for given cable system.\n",
                "summary": "Delete optical power data ",
                "parameters": [
                    {
                        "name": "cableSystem",
                        "in": "query",
                        "description": "Cable system name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully deleted optical power data."
                    },
                    "400": {
                        "description": "Bad request. Invalid parameters, could not delete optical power data."
                    },
                    "500": {
                        "description": "Deletion of optical power data failed, error message provided in logs and response."
                    }
                }
            }
        },
        "/submarine/api/v1/spectrumSharingApp": {
            "get": {
                "tags": [
                    "Spectrum Sharing"
                ],
                "description": "Use this API to fetch the spectrum sharing terminal data for all the supported network elements.",
                "summary": "Get terminal data",
                "parameters": [],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved terminal data details.",
                        "schema": {
                            "title": "SpectrumSharingTerminalData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "attributes": {
                                            "type": "object",
                                            "properties": {
                                                "additionalAttributes": {
                                                    "type": "object"
                                                },
                                                "customers": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "customerPort": {
                                                                "type": "string",
                                                                "default": "C1"
                                                            },
                                                            "customerName": {
                                                                "type": "string",
                                                                "default": "Antel"
                                                            },
                                                            "limAid": {
                                                                "type": "string",
                                                                "default": "LIM-1-5"
                                                            },
                                                            "adjacencyPackage": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "smdToLim": {
                                                                        "type": "object",
                                                                        "properties": {
                                                                            "localTag": {
                                                                                "type": "string",
                                                                                "default": "SMD-1-2-16"
                                                                            },
                                                                            "remoteTag": {
                                                                                "type": "string",
                                                                                "default": "LIM-1-5-6"
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "frequency": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "spectrumRange": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string",
                                                                            "default": "191.325000:196.125000"
                                                                        }
                                                                    },
                                                                    "usedSpectrumRange": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string",
                                                                            "default": "193.625000:193.675000"
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                },
                                                "nodeType": {
                                                    "type": "string",
                                                    "default": "6500"
                                                },
                                                "tidName": {
                                                    "type": "string",
                                                    "default": "SITEA"
                                                },
                                                "otsAid": {
                                                    "type": "string",
                                                    "default": "OTS-1-1"
                                                },
                                                "cableSystemName": {
                                                    "type": "string",
                                                    "default": "BRUSA-VIRGINIA-BEACH"
                                                },
                                                "cableSystemInfo": {
                                                    "type": "string",
                                                    "default": "FP1"
                                                },
                                                "availableCustomerPorts": {
                                                    "type": "integer",
                                                    "default": 8
                                                },
                                                "usedCustomerPorts": {
                                                    "type": "integer",
                                                    "default": 1
                                                },
                                                "SSTAdjacencyPackage": {
                                                    "type": "object",
                                                    "properties": {
                                                        "smdTowss": {
                                                            "type": "object",
                                                            "properties": {
                                                                "localTag": {
                                                                    "type": "string",
                                                                    "default": "SMD-1-2-10"
                                                                },
                                                                "remoteTag": {
                                                                    "type": "string",
                                                                    "default": "WSSOPM-1-10-3"
                                                                }
                                                            }
                                                        },
                                                        "wssToLim": {
                                                            "type": "object",
                                                            "properties": {
                                                                "localTag": {
                                                                    "type": "string",
                                                                    "default": "WSSOPM-1-10-22"
                                                                },
                                                                "remoteTag": {
                                                                    "type": "string",
                                                                    "default": "LIM-1-13-6"
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "type": {
                                            "type": "string",
                                            "default": "spectrum-sharing-terminal"
                                        },
                                        "id": {
                                            "type": "string",
                                            "default": "9014e61f-92c2-335a-8591-68aa61f2f9c5_OTS-1-1"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Invalid Request."
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Retrieval of terminal data failed, error message provided in logs and response.",
                        "schema": {
                            "title": "Request failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "Failed"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Request Failed."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/submarine/api/v1/spectrumSharingDetails": {
            "post": {
                "tags": [
                    "Spectrum Sharing"
                ],
                "description": "Use this API to fetch the customer and common path details for a spectrum sharing terminal\n\nPrerequisite: Spectrum Sharing Terminal must exist.\n",
                "summary": "Get details for a spectrum sharing terminal",
                "parameters": [
                    {
                        "name": "spectrumSharingDetails",
                        "in": "body",
                        "description": "Spectrum sharing details",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/spectrumSharingDetails"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved spectrum sharing details",
                        "schema": {
                            "title": "SpectrumSharingTerminalDetails",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "id": {
                                            "type": "string",
                                            "default": "637a35c6-d24e-11ea-87d0-0242ac130003"
                                        },
                                        "type": {
                                            "type": "string",
                                            "default": "sst-detail"
                                        },
                                        "attributes": {
                                            "type": "object",
                                            "properties": {
                                                "aseData": {
                                                    "type": "object",
                                                    "properties": {
                                                        "aid": {
                                                            "type": "string",
                                                            "default": "BMD-1-85"
                                                        },
                                                        "wssToSmd": {
                                                            "type": "object",
                                                            "properties": {
                                                                "port": {
                                                                    "type": "string",
                                                                    "default": "3"
                                                                }
                                                            }
                                                        },
                                                        "wssToAse": {
                                                            "type": "object",
                                                            "properties": {
                                                                "port": {
                                                                    "type": "string",
                                                                    "default": "5"
                                                                }
                                                            }
                                                        }
                                                    }
                                                },
                                                "customerData": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "object",
                                                        "properties": {
                                                            "customerPort": {
                                                                "type": "string",
                                                                "default": "C1"
                                                            },
                                                            "limAid": {
                                                                "type": "string",
                                                                "default": "LIM-1-5"
                                                            },
                                                            "customerName": {
                                                                "type": "string",
                                                                "default": "ANTEL"
                                                            },
                                                            "customerSpectrum": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "totalSpectrum": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "string",
                                                                            "default": "191.325000-196.125000"
                                                                        }
                                                                    },
                                                                    "usedSpectrum": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "frequencyRange": {
                                                                                    "type": "string",
                                                                                    "default": "193.625000-193.675000"
                                                                                },
                                                                                "smdSwitchSelector": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "currentSwSelectorRx": {
                                                                                            "type": "string",
                                                                                            "default": "11"
                                                                                        },
                                                                                        "currentSwSelectorTx": {
                                                                                            "type": "string",
                                                                                            "default": "11"
                                                                                        },
                                                                                        "chcAid": {
                                                                                            "type": "array",
                                                                                            "items": {
                                                                                                "type": "string",
                                                                                                "default": "CHC-1-2-9-1"
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                },
                                                                                "wssSwitchSelector": {
                                                                                    "type": "object",
                                                                                    "properties": {
                                                                                        "currentSwSelector": {
                                                                                            "type": "string",
                                                                                            "default": "3"
                                                                                        },
                                                                                        "targetSwSelector": {
                                                                                            "type": "string",
                                                                                            "default": "3"
                                                                                        },
                                                                                        "chcAid": {
                                                                                            "type": "string",
                                                                                            "default": "CHC-1-10-22-3"
                                                                                        }
                                                                                    }
                                                                                },
                                                                                "switchSelectorState": {
                                                                                    "type": "string",
                                                                                    "default": "Normal"
                                                                                },
                                                                                "serviceName": {
                                                                                    "type": "string",
                                                                                    "default": "SiteA to SiteB"
                                                                                },
                                                                                "centerFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.650000"
                                                                                },
                                                                                "deploymentState": {
                                                                                    "type": "string",
                                                                                    "default": "Discovered"
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            },
                                                            "customerPortState": {
                                                                "type": "string",
                                                                "default": "In Use"
                                                            },
                                                            "smdToLim": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "port": {
                                                                        "type": "string",
                                                                        "default": "12"
                                                                    }
                                                                }
                                                            },
                                                            "CCMD": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "shelf": {
                                                                        "type": "string",
                                                                        "default": "1"
                                                                    },
                                                                    "slot": {
                                                                        "type": "string",
                                                                        "default": "89"
                                                                    }
                                                                }
                                                            },
                                                            "chcData": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "SMD": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "aid": {
                                                                                    "type": "string",
                                                                                    "default": "CHC-1-2-9-1"
                                                                                },
                                                                                "targetMaxFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.625000"
                                                                                },
                                                                                "targetMinFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.675000"
                                                                                },
                                                                                "minFrequencyDeadBand": {
                                                                                    "type": "string",
                                                                                    "default": "0.000"
                                                                                },
                                                                                "maxFrequencyDeadBand": {
                                                                                    "type": "string",
                                                                                    "default": "0.000"
                                                                                },
                                                                                "maxFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.625000"
                                                                                },
                                                                                "minFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.675000"
                                                                                },
                                                                                "tidName": {
                                                                                    "type": "string",
                                                                                    "default": "SSTSite3"
                                                                                },
                                                                                "minFrequencyLimit": {
                                                                                    "type": "string",
                                                                                    "default": "191.325000"
                                                                                },
                                                                                "maxFrequencyLimit": {
                                                                                    "type": "string",
                                                                                    "default": "196.125000"
                                                                                },
                                                                                "switchSelector": {
                                                                                    "type": "string",
                                                                                    "default": "12"
                                                                                },
                                                                                "targetSwitchSelector": {
                                                                                    "type": "string",
                                                                                    "default": "11"
                                                                                },
                                                                                "opaque": {
                                                                                    "type": "string",
                                                                                    "default": "YES"
                                                                                },
                                                                                "chcMode": {
                                                                                    "type": "string",
                                                                                    "default": "OPENLOOPLOSS"
                                                                                },
                                                                                "primaryState": {
                                                                                    "type": "string",
                                                                                    "default": "IS"
                                                                                },
                                                                                "wavelength": {
                                                                                    "type": "string",
                                                                                    "default": "1532.00"
                                                                                },
                                                                                "channelWidth": {
                                                                                    "type": "string",
                                                                                    "default": "50.00"
                                                                                }
                                                                            }
                                                                        }
                                                                    },
                                                                    "WSSOPM": {
                                                                        "type": "array",
                                                                        "items": {
                                                                            "type": "object",
                                                                            "properties": {
                                                                                "aid": {
                                                                                    "type": "string",
                                                                                    "default": "CHC-1-2-9-1"
                                                                                },
                                                                                "targetMaxFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.625000"
                                                                                },
                                                                                "targetMinFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.675000"
                                                                                },
                                                                                "minFrequencyDeadBand": {
                                                                                    "type": "string",
                                                                                    "default": "0.000"
                                                                                },
                                                                                "maxFrequencyDeadBand": {
                                                                                    "type": "string",
                                                                                    "default": "0.000"
                                                                                },
                                                                                "maxFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.625000"
                                                                                },
                                                                                "minFrequency": {
                                                                                    "type": "string",
                                                                                    "default": "193.675000"
                                                                                },
                                                                                "tidName": {
                                                                                    "type": "string",
                                                                                    "default": "SSTSite3"
                                                                                },
                                                                                "minFrequencyLimit": {
                                                                                    "type": "string",
                                                                                    "default": "191.325000"
                                                                                },
                                                                                "maxFrequencyLimit": {
                                                                                    "type": "string",
                                                                                    "default": "196.125000"
                                                                                },
                                                                                "switchSelector": {
                                                                                    "type": "string",
                                                                                    "default": "12"
                                                                                },
                                                                                "targetSwitchSelector": {
                                                                                    "type": "string",
                                                                                    "default": "11"
                                                                                },
                                                                                "opaque": {
                                                                                    "type": "string",
                                                                                    "default": "YES"
                                                                                },
                                                                                "chcMode": {
                                                                                    "type": "string",
                                                                                    "default": "OPENLOOPLOSS"
                                                                                },
                                                                                "primaryState": {
                                                                                    "type": "string",
                                                                                    "default": "IS"
                                                                                },
                                                                                "wavelength": {
                                                                                    "type": "string",
                                                                                    "default": "1532.00"
                                                                                },
                                                                                "channelWidth": {
                                                                                    "type": "string",
                                                                                    "default": "50.00"
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                },
                                                "additionalAttributes": {
                                                    "type": "object"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Invalid Request."
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "SST details request failed.",
                        "schema": {
                            "title": "Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "Failed"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Request Failed."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/submarine/api/v1/provisionSpectrum": {
            "post": {
                "tags": [
                    "Provision Spectrum"
                ],
                "description": "Use this API to provision spectrum on SMD and WSS card.",
                "summary": "Provision spectrum for a customer",
                "parameters": [
                    {
                        "name": "provisionSpectrum",
                        "in": "body",
                        "description": "Provision spectrum",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/provisionSpectrum"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Spectrum successfully provisioned",
                        "schema": {
                            "title": "ProvisionSpectrum",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "SUCCESS"
                                },
                                "message": {
                                    "type": "string",
                                    "default": "Spectrum provisioned successfully"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Invalid Request."
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Provision spectrum request failed.",
                        "schema": {
                            "title": "Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "Failed"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Request Failed."
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "Provision Spectrum"
                ],
                "description": "Use this API to get available CHC index and frequency range",
                "summary": "Get available CHC index and frequency range",
                "parameters": [
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "Network construct id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "smdAid",
                        "in": "query",
                        "description": "SMD card AID, eg: SMD-1-2 where 1 is shelf and 2 is slot",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "wssAid",
                        "in": "query",
                        "description": "WSS card AID, eg: WSSOPM-1-10 where 1 is shelf and 10 is slot",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "wssToSmdPort",
                        "in": "query",
                        "description": "WSS port connected to SMD",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "wssToAsePort",
                        "in": "query",
                        "description": "WSS port connected to SMD",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved requested data.",
                        "schema": {
                            "title": "provisionSpectrumData",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "object",
                                    "properties": {
                                        "attributes": {
                                            "type": "object",
                                            "properties": {
                                                "availableMinFreqRange": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string",
                                                        "default": "192.325000"
                                                    }
                                                },
                                                "availableMaxFreqRange": {
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string",
                                                        "default": "192.625000"
                                                    }
                                                },
                                                "smdPort9Index": {
                                                    "type": "number",
                                                    "default": 3
                                                },
                                                "smdPort10Index": {
                                                    "type": "number",
                                                    "default": 4
                                                },
                                                "wssPort22Index": {
                                                    "type": "number",
                                                    "default": 5
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Invalid Request."
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Request failed.",
                        "schema": {
                            "title": "Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "Failed"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Request Failed."
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Provision Spectrum"
                ],
                "description": "Use this API to remove spectrum on SMD and WSS card.",
                "summary": "Remove spectrum for a customer",
                "parameters": [
                    {
                        "name": "provisionSpectrum",
                        "in": "body",
                        "description": "Remove spectrum",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/removeSpectrum"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Spectrum is removed successfully",
                        "schema": {
                            "title": "RemoveSpectrum",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "SUCCESS"
                                },
                                "message": {
                                    "type": "string",
                                    "default": "Spectrum is removed successfully"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Invalid Request."
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Remove spectrum request failed.",
                        "schema": {
                            "title": "Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "Failed"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Request Failed."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/submarine/api/v1/spectrumFacility": {
            "post": {
                "tags": [
                    "Spectrum Facility"
                ],
                "description": "Use this API to fetch the NMCC details.",
                "summary": "Fetch NMCC details",
                "parameters": [
                    {
                        "name": "nmccDetails",
                        "in": "body",
                        "description": "NMCC details",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/facilityRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully retrieved NMCC details",
                        "schema": {
                            "title": "NMCC details",
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "id": {
                                                "type": "string",
                                                "default": "NMCC-1-2-9-2-1"
                                            },
                                            "type": {
                                                "type": "string",
                                                "default": "spectrum-facility"
                                            },
                                            "attributes": {
                                                "type": "object",
                                                "properties": {
                                                    "TARGSWSEL": {
                                                        "type": "string",
                                                        "default": "12"
                                                    },
                                                    "INITATTEN": {
                                                        "type": "string",
                                                        "default": "12.00"
                                                    },
                                                    "CTRLFREQOFFSET": {
                                                        "type": "string",
                                                        "default": "0.000"
                                                    },
                                                    "EXPINITPOW": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "SWSEL": {
                                                        "type": "string",
                                                        "default": "16"
                                                    },
                                                    "REFBW": {
                                                        "type": "string",
                                                        "default": "12.5GHZ"
                                                    },
                                                    "WSSCHINPOW": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "CENTERFREQ": {
                                                        "type": "string",
                                                        "default": "191.343750"
                                                    },
                                                    "CTRLSSCATTEN": {
                                                        "type": "string",
                                                        "default": "20.00"
                                                    },
                                                    "MAXFREQ": {
                                                        "type": "string",
                                                        "default": "191.362500"
                                                    },
                                                    "TID": {
                                                        "type": "string",
                                                        "default": "SSTSite3"
                                                    },
                                                    "AID": {
                                                        "type": "string",
                                                        "default": "NMCC-1-2-9-2-1"
                                                    },
                                                    "INPWEREF": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "INPOWSRC": {
                                                        "type": "string",
                                                        "default": "0.0"
                                                    },
                                                    "SPECTRALWIDTH": {
                                                        "type": "string",
                                                        "default": "37.500"
                                                    },
                                                    "CHNLPOW": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "TARGLOSS": {
                                                        "type": "string",
                                                        "default": "18.00"
                                                    },
                                                    "CTRLSTATE": {
                                                        "type": "string",
                                                        "default": "Not Applicable"
                                                    },
                                                    "SST": {
                                                        "type": "string",
                                                        "default": "IS"
                                                    },
                                                    "ISOPQ": {
                                                        "type": "string",
                                                        "default": "YES"
                                                    },
                                                    "CTRLTARGPOW": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "WSSOUTPOW": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "LOSS": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "CTRLSSC": {
                                                        "type": "string",
                                                        "default": "SSC-1-2-9-3"
                                                    },
                                                    "MINFREQ": {
                                                        "type": "string",
                                                        "default": "191.325000"
                                                    },
                                                    "CHCMODE": {
                                                        "type": "string",
                                                        "default": "OPENLOOPLOSS"
                                                    },
                                                    "ATTEN": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "INPOW": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "CKTID": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "WSSCHOUTPOW": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    },
                                                    "PST": {
                                                        "type": "string",
                                                        "default": "IS"
                                                    },
                                                    "CTRLOUTPOW": {
                                                        "type": "string",
                                                        "default": "N/A"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Invalid Request."
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Request failed.",
                        "schema": {
                            "title": "Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "Failed"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Request Failed."
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Spectrum Facility"
                ],
                "description": "Use this API to update switch selector",
                "summary": "Update switch selector of CHC",
                "parameters": [
                    {
                        "name": "updateSwitchSelector",
                        "in": "body",
                        "description": "Update switch selector",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/updateSwsel"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully updated switch selector of WSS CHC.",
                        "schema": {
                            "title": "updateSwitchSelector",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "SUCCESS"
                                },
                                "message": {
                                    "type": "string",
                                    "default": "Switch selector changed successfully"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request.",
                        "schema": {
                            "title": "Bad Request",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "BADREQUEST"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Invalid Request."
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Request failed.",
                        "schema": {
                            "title": "Failed",
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string",
                                    "default": "Failed"
                                },
                                "errors": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "Request Failed."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/configProperties": {
            "get": {
                "tags": [
                    "tdcapiv1configProperties"
                ],
                "summary": "Retrieve all properties.",
                "description": "",
                "operationId": "getAllProps",
                "produces": [
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/PropResponseRo"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "tdcapiv1configProperties"
                ],
                "summary": "Add/update a property by property name.",
                "description": "",
                "operationId": "createUpdateProp",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Property create/update request.<p>Name of the attributes holds the new/to-be-updated property name.<p>Value of the attributes holds the new/to-be-updated property value.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PropRequestRo"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is accepted for updating",
                        "schema": {
                            "$ref": "#/definitions/PropResponseRo"
                        }
                    },
                    "201": {
                        "description": "request is accepted for adding",
                        "schema": {
                            "$ref": "#/definitions/PropResponseRo"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/configProperties/{propertyName}": {
            "get": {
                "tags": [
                    "tdcapiv1configProperties"
                ],
                "summary": "Retrieve property by property name.",
                "description": "",
                "operationId": "getPropValueByName",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "propertyName",
                        "in": "path",
                        "description": "Property name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/PropResponseRo"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "tdcapiv1configProperties"
                ],
                "summary": "Delete a property by property name.",
                "description": "",
                "operationId": "deletePropByName",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "propertyName",
                        "in": "path",
                        "description": "property name",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is accepted",
                        "schema": {
                            "$ref": "#/definitions/PropResponseRo"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/diag/fiberloss": {
            "get": {
                "tags": [
                    "tdcapiv1diagfiberloss"
                ],
                "summary": "Retrieve measured fiber loss data on the path of one service",
                "description": "This API retrieves the measured fiber loss data on per uni-directional links along the specified service path. <p>.",
                "operationId": "getFiberLossData",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freIds",
                        "in": "query",
                        "description": "One or multiple service or link FRE id(s) separated by comma.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted.",
                        "schema": {
                            "$ref": "#/definitions/FiberLossResponse"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/diag/pms/prfbers": {
            "get": {
                "tags": [
                    "tdcapiv1diagpmsprfbers"
                ],
                "summary": "Test pre-FEC BER for the given list of provisioned services or infrastructure links",
                "description": "This API tests pre-FEC BER values at service endpoints against failed thresholds. <p>",
                "operationId": "checkPrefecBer",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freIds",
                        "in": "query",
                        "description": "Test pre-FEC BER for the given list of service freIds",
                        "required": true,
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "collectionFormat": "multi"
                    },
                    {
                        "name": "failThreshold",
                        "in": "query",
                        "description": "The Pre-FEC BER Signal Fail Threshold",
                        "required": true,
                        "type": "number",
                        "format": "double"
                    },
                    {
                        "name": "degradeThreshold",
                        "in": "query",
                        "description": "(Optional) The Pre-FEC BER Signal Degrade Threshold",
                        "required": false,
                        "type": "number",
                        "format": "double"
                    },
                    {
                        "name": "resetIdf",
                        "in": "query",
                        "description": "(Optional) Test Pre-FEC BER with reset untimed IDF (default false). If reset, MCP will reset untimed IDF 15 Secs after service channel becomes DOC managed, wait for another 15 sec and then retrieve pre-FEC BER data from untimed bin for the test;Otherwise, MCP will retrieve pre-FEC BER data from untimed bin directly for the test",
                        "required": false,
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request accepted",
                        "schema": {
                            "$ref": "#/definitions/PmDiagResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/diag/pms/prfbers/complex": {
            "get": {
                "tags": [
                    "tdcapiv1diagpmsprfbers"
                ],
                "summary": "Test pre-FEC BER for a provisioned service or infrastructure link and provide complex test results",
                "description": "This API tests pre-FEC BER values at service endpoints against target thresholds. <p>",
                "operationId": "testPrefecBer",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "The freId of a service or infrastructure link",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "targetThreshold",
                        "in": "query",
                        "description": "The Pre-FEC BER target threshold",
                        "required": true,
                        "type": "number",
                        "format": "double"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request accepted",
                        "schema": {
                            "$ref": "#/definitions/BerComplexResponse"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/diag/spectral": {
            "get": {
                "tags": [
                    "tdcapiv1diagspectral"
                ],
                "summary": "Retrieve spectral data on the path of one service",
                "description": "This API retrieves spectral data which describes the spectral usage at OTSi layer along the specified service path. <p>The spectral data are presented in the TPE as <I>usedCapacity<I>.",
                "operationId": "getSpectralDiagData",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freIds",
                        "in": "query",
                        "description": "One or multiple service FRE id(s) separated by comma.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted.",
                        "schema": {
                            "$ref": "#/definitions/SpectralResponse"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/diag/spectral/allocations": {
            "get": {
                "tags": [
                    "tdcapiv1diagspectral"
                ],
                "summary": "Retrieve spectral allocation data for path",
                "description": "This API retrieves spectral allocation data which describes the spectrum usage at OTSi layer for each roadm lines along service path. <p>The spectral allocation data are presented in photonic services as <I>photonicSpectrumPackage<I>.",
                "operationId": "getSpectralAllocData",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freIds",
                        "in": "query",
                        "description": "One or multiple service FRE id(s) separated by comma.",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted.",
                        "schema": {
                            "$ref": "#/definitions/SpectralAllocRo"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/operationalStatus": {
            "get": {
                "tags": [
                    "tdcapiv1operationalStatus"
                ],
                "summary": "Retrieve operational status.",
                "description": "",
                "operationId": "getOperStatus",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "A service FRE id.",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "osTypeString",
                        "in": "query",
                        "description": "Type of operational status",
                        "required": true,
                        "type": "string",
                        "enum": [
                            "ccStatus",
                            "lspOperationalStatus",
                            "pwOperationalStatus",
                            "tdmStatus"
                        ]
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/OperStatusResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/pageLoad/load": {
            "get": {
                "tags": [
                    "tdcapiv1pageLoad"
                ],
                "summary": "Retrieve test capabilities and operational status (ccm, pw, lsp, tdm) of a specific FRE.",
                "description": "<p>This API is designed to identify what diagnostic test types are supported on a selected service/tunnel for <u>blueplanet</u> UI component to use.<p>The test capabilities includes:<ul><li>Supporting diagnostic test types and the test type description text<li>Service endpoints of each supporting test type:<ul><li> for CFM service, the service endpoint(s) with MEP configured will be included<li> for MPLS service, the PW(s) service endpoint(s) will be included, as well as the service endpoints of the LSP tunnel(s) which the PW(s) is configured on<li> for LSP tunnel, the LSP service endpoints will be included, as well as the service endpoint(s) of the PW(s) which are configured on this tunnel.</ul><li>The name and range of the supporting test parameters per NE of the service endpoint</ul>.",
                "operationId": "getPageLoadInformation",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "FRE id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "includedInformation",
                        "in": "query",
                        "description": "Included information. Allowable values are testCapabilities, ccStatus, lspOperationalStatus, pwOperationalStatus, tdmStatus, itsCapabilities(comma separated for multiple)",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/TestCapabilitiesRo"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests": {
            "get": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Retrieve test results list.",
                "description": "",
                "operationId": "getTestList",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "testType",
                        "in": "query",
                        "description": "Optional, test type",
                        "required": false,
                        "type": "string",
                        "enum": [
                            "benchmark",
                            "cfmLinktrace",
                            "cfmLoopback",
                            "loopback",
                            "clientPortLoopback",
                            "lspPing",
                            "lspTraceroute",
                            "tdmLoopback",
                            "pwPing",
                            "raceTrack",
                            "testSet",
                            "networkMode",
                            "Vrf Ping",
                            "SrTunnelPing"
                        ]
                    },
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "Optional, service FRE id",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "tpeIds",
                        "in": "query",
                        "description": "Optional, One or multiple test point TPE id(s) separated by comma",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncIds",
                        "in": "query",
                        "description": "Optional, One or multiple test network construct id(s) separated by comma",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "userAnnotation",
                        "in": "query",
                        "description": "Optional, partial or full user annotation",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/TestListRo"
                        }
                    },
                    "400": {
                        "description": "Test type is not supported",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/Description": {
            "get": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Retrieve test capabilities of a specific FRE.",
                "description": "<p>This API is designed to identify what diagnostic test types are supported on a selected service/tunnel for <u>blueplanet</u> UI component to use.<p>The test capabilities includes:<ul><li>Supporting diagnostic test types and the test type description text<li>Service endpoints of each supporting test type:<ul><li> for CFM service, the service endpoint(s) with MEP configured will be included<li> for MPLS service, the PW(s) service endpoint(s) will be included, as well as the service endpoints of the LSP tunnel(s) which the PW(s) is configured on<li> for LSP tunnel, the LSP service endpoints will be included, as well as the service endpoint(s) of the PW(s) which are configured on this tunnel.<li> for L3 service, the service endpoint(s) ?? will be included</ul><li>The name and range of the supporting test parameters per NE of the service endpoint</ul>.",
                "operationId": "getTestCapabilities",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "FRE id",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/TestCapabilitiesRo"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/DescriptionL3": {
            "get": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Retrieve test capabilities of a specific FRE.",
                "description": "<p>This API is designed to identify what diagnostic test types are supported on a selected tunnel of L3 for <u>blueplanet</u> UI component to use.<p>The test capabilities includes:<ul><li>Supporting diagnostic test types and the test type description text<li>Service endpoints of each supporting test type:<ul><li> for SR Tunnel, the result would be returned from a schema file as there is no FreId exist on NSI</ul><li>The name and range of the supporting test parameters per NE of the service endpoint</ul>.",
                "operationId": "getTestCapabilitiesL3",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "operationType",
                        "in": "query",
                        "description": "Operation Type",
                        "required": false,
                        "type": "string"
                    },
                    {
                        "name": "ncId",
                        "in": "query",
                        "description": "Optional, NC id",
                        "required": false,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/TestCapabilitiesRo"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/benchmarkOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a benchmark test",
                "description": "",
                "operationId": "startBmTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Test request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/BmTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Testing resource is under testing or device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/cfmOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a CFM test: linktrace, loopback",
                "description": "",
                "operationId": "startCfmTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "CFM test request.<p>Options for type are loopback, linktrace.<p>Options for idType of remotePoint are macAddress, tpes, mepId.<p>Keys of testParameters for loopback are count, data, interval, priority and timeout.<p>Keys of testParameters for linktrace are priority and ttl.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/CfmTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Testing resource is under testing or device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/its/itsConfiguration": {
            "post": {
                "tags": [
                    "tdcapiv1testsits"
                ],
                "summary": "Configures Integrated Test Set configuration",
                "description": "",
                "operationId": "configure",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Integrated Test Set configuration request.<p>Options for type are raceTrack, testSet, networkMode.<p>Mandatory key of localTpeData is tpeId and optional keys are berThreshold, duration, loopback, monaBerThreshold, monbBerThreshold, monaPattern, monbPattern, genaPattern and genbPattern.<p>Mandatory key of remoteTpeData is tpeId and optional keys are loopback, monbBerThreshold, monbPattern and genbPattern.One of the optional key is mandatory either from localTpeData or remoteTpeData",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ItsOperationRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Configuration request accepted",
                        "schema": {
                            "$ref": "#/definitions/ItsTestRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/its/itsDescription": {
            "get": {
                "tags": [
                    "tdcapiv1testsits"
                ],
                "summary": "Retrieve Integrated Test Set Description data.",
                "description": "",
                "operationId": "getItsTestDescription",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "freId",
                        "in": "query",
                        "description": "service FRE id",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "testType",
                        "in": "query",
                        "description": "test type options are raceTrack, testSet, networkMode",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/ItsTestRo"
                        }
                    },
                    "400": {
                        "description": "Test type is not supported",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/its/itsUnconfiguration": {
            "post": {
                "tags": [
                    "tdcapiv1testsits"
                ],
                "summary": "Unconfigures Integrated Test Set configuration",
                "description": "",
                "operationId": "unConfigure",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Integrated Test Set unconfiguration request.<p>Options for type are raceTrack, testSet, networkMode.<p>Mandatory key of localTpeData & remoteTpeData is tpeId.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ItsOperationRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Unconfiguration request accepted",
                        "schema": {
                            "$ref": "#/definitions/ItsTestRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/itsInjectError": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Inject Error on running Integrated Test Set test",
                "description": "",
                "operationId": "itsInjectError",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Inject Error request.<p>Values for errorType are Bit Error, LF and RF.<p>Values for errorOperation are start and stop.<p>Values for errorPoint are GENA and GENB.<p>Values for errorRate are single and continuous.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ItsInjectErrorRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Inject Error request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/itsOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a Integrated Test Set test: raceTrack, testSet, networkMode.",
                "description": "",
                "operationId": "startItsTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Integrated Test Set test request.<p>Options for type are raceTrack, testSet, networkMode.<p>Keys of raceTrack localTpeData are tpeId, berThreshold, duration, monaPattern, genbPattern, , monaBerThreshold, layerRate, loopback and cardType.<p>Keys of raceTrack remoteTpeData are tpeId, layerRate, loopback and cardType.<p>Keys of testSet localTpeData are tpeId, monaBerThreshold, duration, monaPattern, genaPattern, layerRate and cardType.<p>Keys of testSet remoteTpeData are tpeId, layerRate and cardType.<p>Keys of networkMode localTpeData are tpeId, monbBerThreshold, duration, monbPattern, genbPattern, layerRate and cardType.<p>Keys of networkMode remoteTpeData are tpeId, layerRate and cardType.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ItsOperationRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/ldpOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a LDP test: ping",
                "description": "",
                "operationId": "startLdpTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "LDP test request.<p>Options for type are ping<p>Keys of testParameters for ping are count, encapType, packetSize, replyMode, timeout ,ncId and ttl.<p>Keys of testParameters for traceroute are encapType, replyMode, timeout ,ncId and ttl.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LdpTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/loopbackOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a photonics loopback test",
                "description": "",
                "operationId": "startLbTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Loopback test request.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LbTestRo"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Start test request completed",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/lspOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a LSP test: ping, traceroute",
                "description": "",
                "operationId": "startLspTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "LSP test request.<p>Options for type are ping, traceroute.<p>Keys of testParameters for ping are count, encapType, packetSize, replyMode, timeout and ttl.<p>Keys of testParameters for traceroute are encapType, replyMode, timeout and ttl.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/LspTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/pwOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a Pseudowire test: ping",
                "description": "",
                "operationId": "startPwTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Pseudowire test request.<p>Options for type are ping and traceroute.<p>Keys of testParameters are count, encapType, packetSize, replyMode, segment, and timeout.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PwTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/reflectorOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Create/Delete Reflector",
                "description": "",
                "operationId": "reflectorOp",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Reflector Operation request.<p>Options for type are create, delete.<p>Mandatory key is type and reflectorId.<p>Keys of reflectorParameters are reflectorType, reflectionLevel and testMode.<p>reflectorParameters are not required for delete",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/ReflectorOperationRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Reflector Operation request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/srOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a SR test: ping, traceroute",
                "description": "",
                "operationId": "startSrTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SR test request.<p>Options for type are ping, traceroute.<p>Keys of testParameters for ping are count, encapType, packetSize, replyMode, timeout ,ncId and ttl.<p>Keys of testParameters for traceroute are encapType, replyMode, timeout ,ncId and ttl.",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/srPolicyOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a VRF test: ping",
                "description": "",
                "operationId": "startSrPolicyTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "SRPOLICY test request.<p>Options for type are ping. <p>Keys of testParameters for ping are policy name, packetSize,count, interval, timeout and ttl.<p>",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/SrPolicyTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/tdmOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a tdm test",
                "description": "",
                "operationId": "startTdmTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Test request",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/TdmLbTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Testing resource is under testing or device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/vrfOperations": {
            "post": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Start a VRF test: ping",
                "description": "",
                "operationId": "startVrfTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "VRF test request.<p>Options for type are ping. <p>Keys of testParameters for ping are Vrf Id, dest Prefix IP Address, packetSize, timeout and ttl.<p>",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/VrfTestRo"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Start test request accepted",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Invalid input",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Testing resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Device is LOA",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/{testId}": {
            "get": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Retrieve test record for a specific testId",
                "description": "",
                "operationId": "getTestRecordById",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "testId",
                        "in": "path",
                        "description": "test identifier",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "request is OK",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "404": {
                        "description": "Test is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v1/tests/{testId}/cancel": {
            "delete": {
                "tags": [
                    "tdcapiv1tests"
                ],
                "summary": "Cancel an in progress test",
                "description": "",
                "operationId": "cancelInProgressTest",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "testId",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Test cancelled",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "202": {
                        "description": "Test cancelled",
                        "schema": {
                            "$ref": "#/definitions/TestResultsRo"
                        }
                    },
                    "400": {
                        "description": "Test not cancelled",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Test is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v2/diag/operMeas": {
            "post": {
                "tags": [
                    "tdcapiv2diagoperMeas"
                ],
                "summary": "Retrieves current operational measurements for a broadband service or infrastructure service ",
                "description": "This API retrieves current and most recent operational measurements at client layer and supporting line layers of service endpoints",
                "operationId": "startRouteDiag",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Request for operational measurements data  for a full route",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/OperMeasRouteRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted",
                        "schema": {
                            "$ref": "#/definitions/OperMeasRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v2/diag/operMeas/facilities": {
            "post": {
                "tags": [
                    "tdcapiv2diagoperMeas"
                ],
                "summary": "Retrieves historical operational measurements data for a given facility",
                "description": "This API retrieves historical operational measurements data for a given facility on a given Network Element",
                "operationId": "startFacilityDiag",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Operational Measurement (facility) request data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/OperMeasFacRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted",
                        "schema": {
                            "$ref": "#/definitions/OperMeasRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v2/diag/operMeas/latency/facilities": {
            "post": {
                "tags": [
                    "tdcapiv2diagoperMeas"
                ],
                "summary": "Retrieves latency data for a given resource ID",
                "description": "This API retrieves latency data for a given resource ID on a given Network Element",
                "operationId": "startLatencyFacilityDiag",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Operational Measurement (facility) request data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/OperMeasLatencyRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted",
                        "schema": {
                            "$ref": "#/definitions/OperMeasRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v2/diag/operMeas/powerAttributes/facilities": {
            "post": {
                "tags": [
                    "tdcapiv2diagoperMeas"
                ],
                "summary": "Retrieves Power Snapshot data for a given service",
                "description": "This API retrieves power snapshot for a given service",
                "operationId": "startPowerSnapshotAttributes",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Power Snapshot request data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PowerSnapshotRequestRO"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted",
                        "schema": {
                            "$ref": "#/definitions/OperMeasRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v2/diag/operMeas/powerPms": {
            "post": {
                "tags": [
                    "tdcapiv2diagoperMeas"
                ],
                "summary": "Retrieves Optical Power PM data for a given service",
                "description": "This API retrieves optical power PM data for a given service or a given ROADM line",
                "operationId": "startPowerDiag",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Optical Power(PMs) request data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/OpticalPowerRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted",
                        "schema": {
                            "$ref": "#/definitions/OperMeasRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tdc/api/v2/diag/operMeas/reset": {
            "post": {
                "tags": [
                    "tdcapiv2diagoperMeas"
                ],
                "summary": "Reset current operational measurements for a broadband service or infrastructure service",
                "description": "This API resets current operational measurements data for a broadband service or infrastructure service",
                "operationId": "resetPms",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Operational PM reset request data",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/PmResetRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Request accepted",
                        "schema": {
                            "$ref": "#/definitions/PmResetRO"
                        }
                    },
                    "400": {
                        "description": "Bad request. Input validation error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "Resource is not found",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "Internal system error",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/kafka-rest/api/v1/topics/{topicName}": {
            "get": {
                "tags": [
                    "Topic Management"
                ],
                "summary": "Returns a topic and its metadata",
                "description": "",
                "operationId": "getTopic",
                "consumes": [
                    "application/json",
                    "application/vnd.api+json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "topicName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request was successful",
                        "schema": {
                            "$ref": "#/definitions/GetTopic"
                        }
                    },
                    "404": {
                        "description": "Topic not found"
                    },
                    "408": {
                        "description": "Timeout"
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Topic Management"
                ],
                "summary": "ONLY USE DURING MAINTENANCE WINDOW!! Alters a topic and its metadata",
                "description": "",
                "operationId": "alterTopic",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "topicName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "in": "body",
                        "name": "body",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PutTopic"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Request was successful"
                    },
                    "400": {
                        "description": "The request has invalid parameters"
                    },
                    "404": {
                        "description": "Topic not found"
                    },
                    "408": {
                        "description": "Timeout"
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Topic Management"
                ],
                "summary": "ONLY USE DURING MAINTENANCE WINDOW!! Deletes a topic and its metadata",
                "description": "",
                "operationId": "deleteTopic",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "topicName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Delete successful"
                    },
                    "404": {
                        "description": "Topic not found"
                    },
                    "408": {
                        "description": "Timeout"
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/kafka-rest/api/v1/topics": {
            "post": {
                "tags": [
                    "Topic Management"
                ],
                "summary": "Creates a topic with the provided configuration",
                "description": "",
                "operationId": "createTopic",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "required": false,
                        "schema": {
                            "$ref": "#/definitions/PostTopics"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Topics created"
                    },
                    "207": {
                        "description": "Multi status",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "400": {
                        "description": "The request has invalid parameters",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/kafka-rest/api/v1/monitor/{topicName}": {
            "get": {
                "tags": [
                    "Topic Monitoring"
                ],
                "summary": "Returns topic state",
                "description": "",
                "operationId": "getTopicState",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "topicName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request was successful",
                        "schema": {
                            "$ref": "#/definitions/TopicState"
                        }
                    },
                    "400": {
                        "description": "The request has invalid parameters"
                    },
                    "404": {
                        "description": "Consumer group info for topic not found"
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/kafka-rest/api/v1/monitor/{topicName}/{consumerGroup}": {
            "get": {
                "tags": [
                    "Topic Monitoring"
                ],
                "summary": "Returns a topic state with respect to a consumergroup",
                "description": "",
                "operationId": "getTopicConsumer",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "topicName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "consumerGroup",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request was successful",
                        "schema": {
                            "$ref": "#/definitions/ConsumerGroupState"
                        }
                    },
                    "400": {
                        "description": "The request has invalid parameters"
                    },
                    "404": {
                        "description": "Consumer group info for topic not found"
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/kafka-rest/api/v1/monitor/process-state/{topicName}/{consumerGroup}": {
            "get": {
                "tags": [
                    "Topic Monitoring"
                ],
                "summary": "Returns process state of a consumergroup for a topic",
                "description": "",
                "operationId": "getTopicConsumerProcessState",
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "topicName",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    },
                    {
                        "name": "consumerGroup",
                        "in": "path",
                        "required": true,
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Request was successful",
                        "schema": {
                            "$ref": "#/definitions/ConsumerGroupProcessState"
                        }
                    },
                    "400": {
                        "description": "The request has invalid parameters"
                    },
                    "404": {
                        "description": "Consumer group info for topic not found"
                    },
                    "500": {
                        "description": "The server encountered an error while processing the request",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/upgrade/api/v1/upgrades": {
            "get": {
                "tags": [
                    "Upgrade Rest Service v1"
                ],
                "summary": "List details of all upgrade processes",
                "description": "List all upgrade processes",
                "operationId": "listUpgrades",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "responses": {
                    "200": {
                        "description": "Details were found successful",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while upgrading",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Upgrade Rest Service v1"
                ],
                "summary": "Trigger Upgrade Process",
                "description": "Trigger Upgrade Process",
                "operationId": "upgradeSolutions",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "Upgrade request. It may include mutiple solution to be upgraded",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/UpgradeRequestRO"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "$ref": "#/definitions/UpgradeJob"
                        }
                    },
                    "202": {
                        "description": "Upgrade request is accepted"
                    },
                    "400": {
                        "description": "The upgrade request input is invalid",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while upgrading",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/upgrade/api/v1/upgrades/{jobId}": {
            "get": {
                "tags": [
                    "Upgrade Rest Service v1"
                ],
                "summary": "List details of a particular upgrade process",
                "description": "List an upgrade process",
                "operationId": "listUpgradeJob",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Job Id of upgrade job",
                        "required": true,
                        "type": "integer",
                        "pattern": "[0-9]+",
                        "format": "int64"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Details were found successful",
                        "schema": {
                            "$ref": "#/definitions/UpgradeJobRO"
                        }
                    },
                    "404": {
                        "description": "The job doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while upgrading",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Upgrade Rest Service v1"
                ],
                "summary": "Stop a particular upgrade process",
                "description": "Stop an upgrade process",
                "operationId": "stopUpgradeJob",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Job Id of upgrade job",
                        "required": true,
                        "type": "integer",
                        "pattern": "[0-9]+",
                        "format": "int64"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "The upgrade job was stopped successful"
                    },
                    "400": {
                        "description": "The job is not being processed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The job doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/upgrade/api/v1/upgrades/{jobId}/commit": {
            "post": {
                "tags": [
                    "Upgrade Rest Service v1"
                ],
                "summary": "Trigger cleanup of previous solution",
                "description": "Trigger cleanup of previous solution",
                "operationId": "commit",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Job Id of upgrade job",
                        "required": true,
                        "type": "integer",
                        "pattern": "[0-9]+",
                        "format": "int64"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "204": {
                        "description": "Cleanup is successful"
                    },
                    "400": {
                        "description": "Cannot clean up. The job is not succeeded",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The job doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while cleaning up.",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/upgrade/api/v1/upgrades/{jobId}/rollback": {
            "post": {
                "tags": [
                    "Upgrade Rest Service v1"
                ],
                "summary": "Trigger rollback of upgrade job",
                "description": "Trigger rollback of the upgrade job",
                "operationId": "rollback",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/vnd.api+json",
                    "application/json"
                ],
                "parameters": [
                    {
                        "name": "jobId",
                        "in": "path",
                        "description": "Job Id of upgrade job",
                        "required": true,
                        "type": "integer",
                        "pattern": "[0-9]+",
                        "format": "int64"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "schema": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "202": {
                        "description": "Rollback request is accepted"
                    },
                    "400": {
                        "description": "Cannot rollback. The job is being processed",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "404": {
                        "description": "The job doesn't exist",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    },
                    "500": {
                        "description": "The server encountered an error while cleaning up",
                        "schema": {
                            "$ref": "#/definitions/Errors"
                        }
                    }
                }
            }
        },
        "/tron/api/v1/api-keys": {
            "get": {
                "operationId": "api-keys_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/APIKeyPairSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "owner",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "keyId",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all api-keys.",
                "summary": "List of all api-keys.",
                "tags": [
                    "api-keys"
                ]
            },
            "post": {
                "operationId": "api-keys_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/APIKeyPairSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "owner",
                        "required": true,
                        "in": "formData",
                        "description": "User UUID",
                        "type": "string"
                    }
                ],
                "description": "Create a new api-key.",
                "summary": "Create a new api-key.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "api-keys"
                ]
            }
        },
        "/tron/api/v1/api-keys/{keyId}": {
            "get": {
                "operationId": "api-keys_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/APIKeyPairSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "keyId",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific api-key.",
                "summary": "Get a specific api-key.",
                "tags": [
                    "api-keys"
                ]
            },
            "delete": {
                "operationId": "api-keys_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "keyId",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Delete an api-key.",
                "summary": "Delete an api-key.",
                "tags": [
                    "api-keys"
                ]
            }
        },
        "/tron/api/v1/applications": {
            "get": {
                "operationId": "applications_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "isInternal",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all applications.",
                "summary": "List of all applications.",
                "tags": [
                    "applications"
                ]
            },
            "post": {
                "operationId": "applications_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "username",
                        "required": false,
                        "in": "formData",
                        "description": "username for Application manager, <appname>Manager if not provided",
                        "type": "string"
                    },
                    {
                        "name": "isInternal",
                        "required": false,
                        "in": "formData",
                        "description": "Is internal Application",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Application name",
                        "type": "string"
                    }
                ],
                "description": "Create a new application entry.",
                "summary": "Create a new application entry.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "applications"
                ]
            }
        },
        "/tron/api/v1/applications/{uuid}": {
            "get": {
                "operationId": "applications_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific application by UUID.",
                "summary": "Get a specific application by UUID.",
                "tags": [
                    "applications"
                ]
            },
            "put": {
                "operationId": "applications_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "username",
                        "required": false,
                        "in": "formData",
                        "description": "username for Application manager, <appname>Manager if not provided",
                        "type": "string"
                    },
                    {
                        "name": "isInternal",
                        "required": false,
                        "in": "formData",
                        "description": "Is internal Application",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Application name",
                        "type": "string"
                    }
                ],
                "description": "Replace the application with this UUID.",
                "summary": "Replace the application with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "applications"
                ]
            },
            "patch": {
                "operationId": "applications_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ApplicationSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "username",
                        "required": false,
                        "in": "formData",
                        "description": "username for Application manager, <appname>Manager if not provided",
                        "type": "string"
                    },
                    {
                        "name": "isInternal",
                        "required": false,
                        "in": "formData",
                        "description": "Is internal Application",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "Application name",
                        "type": "string"
                    }
                ],
                "description": "Update some values for the application with this UUID.",
                "summary": "Update some values for the application with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "applications"
                ]
            },
            "delete": {
                "operationId": "applications_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Delete an application.",
                "summary": "Delete an application.",
                "tags": [
                    "applications"
                ]
            }
        },
        "/tron/api/v1/auth": {
            "post": {
                "operationId": "auth_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/AuthSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "authType",
                        "required": true,
                        "in": "formData",
                        "description": "Authentication Type, rest of the parameters depend on this",
                        "type": "string"
                    },
                    {
                        "name": "username",
                        "required": false,
                        "in": "formData",
                        "description": "required for authType password",
                        "type": "string"
                    },
                    {
                        "name": "password",
                        "required": false,
                        "in": "formData",
                        "description": "required for authType password",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant Name required for authType password",
                        "type": "string"
                    },
                    {
                        "name": "token",
                        "required": false,
                        "in": "formData",
                        "description": "Required for authType token",
                        "type": "string"
                    },
                    {
                        "name": "keyId",
                        "required": false,
                        "in": "formData",
                        "description": "Required for authType mac",
                        "type": "string"
                    },
                    {
                        "name": "apps",
                        "required": false,
                        "in": "formData",
                        "description": "list of Application names, request roles for these Applications. If empty, user roles are not returned for any Application",
                        "type": "string"
                    }
                ],
                "description": "Create a new authentication.",
                "summary": "Create a new authentication.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "auth"
                ]
            }
        },
        "/tron/api/v1/current-user": {
            "get": {
                "operationId": "current-user_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Detailed information about the current user.",
                "summary": "Detailed information about the current user.",
                "tags": [
                    "current-user"
                ]
            }
        },
        "/tron/api/v1/current-user/login_info": {
            "get": {
                "operationId": "current-user_login_info",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/CurrentUserLoginInfoSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [],
                "description": "Returns SessionId and Token Info including tenant_context for the current user.",
                "summary": "Returns SessionId and Token Info including tenant_context for the current user.",
                "tags": [
                    "current-user"
                ]
            }
        },
        "/tron/api/v1/health-check": {
            "get": {
                "operationId": "health-check_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/HealthCheckSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Health check\nReturn 200 if things look good, or 503 if we can't talk to the DB.",
                "summary": "Health check",
                "tags": [
                    "health-check"
                ]
            }
        },
        "/tron/api/v1/ldap-configs": {
            "get": {
                "operationId": "ldap-configs_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LDAPConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all LDAP configurations.",
                "summary": "List of all LDAP configurations.",
                "tags": [
                    "ldap-configs"
                ]
            }
        },
        "/tron/api/v1/ldap-configs/{uuid}": {
            "get": {
                "operationId": "ldap-configs_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LDAPConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific LDAP config by UUID.",
                "summary": "Get a specific LDAP config by UUID.",
                "tags": [
                    "ldap-configs"
                ]
            },
            "put": {
                "operationId": "ldap-configs_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LDAPConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "LDAP config description",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "LDAP config name",
                        "type": "string"
                    },
                    {
                        "name": "enabled",
                        "required": false,
                        "in": "formData",
                        "description": "Activate this LDAP Configuration, if false, configuration exists in database but will not be used",
                        "type": "boolean"
                    },
                    {
                        "name": "server_ip",
                        "required": false,
                        "in": "formData",
                        "description": "Server address",
                        "type": "string"
                    },
                    {
                        "name": "enable_ssl",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "ssl_level",
                        "required": false,
                        "in": "formData",
                        "description": "SSL security level (NEVER, ALLOW, DEMAND)",
                        "type": "string"
                    },
                    {
                        "name": "domain_search_user",
                        "required": false,
                        "in": "formData",
                        "description": "LDAP username to perform user lookups. Example: user@domain.com",
                        "type": "string"
                    },
                    {
                        "name": "domain_search_password",
                        "required": false,
                        "in": "formData",
                        "description": "Password for domain search user",
                        "type": "string"
                    },
                    {
                        "name": "enable_referrals",
                        "required": false,
                        "in": "formData",
                        "description": "Microsoft AD needs this to be disabled. (Anonymous bind is not supported)",
                        "type": "boolean"
                    },
                    {
                        "name": "base_dn",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "user_name_attribute",
                        "required": false,
                        "in": "formData",
                        "description": "Attribute to load user name",
                        "type": "string"
                    },
                    {
                        "name": "tenant_attribute",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant attribute to filter user",
                        "type": "string"
                    },
                    {
                        "name": "accessible_tenants_attribute",
                        "required": false,
                        "in": "formData",
                        "description": "Attribute to define multiple tenant access for this user",
                        "type": "string"
                    },
                    {
                        "name": "group_name_attribute",
                        "required": false,
                        "in": "formData",
                        "description": "Attribute to load group name",
                        "type": "string"
                    },
                    {
                        "name": "group_object_filter",
                        "required": true,
                        "in": "formData",
                        "description": "Filter when searching group",
                        "type": "string"
                    },
                    {
                        "name": "member_attr",
                        "required": false,
                        "in": "formData",
                        "description": "'member_attr' used for 'group_object_filter', e.g. set 'memberUid' for '(objectClass=posixGroup)', 'member' for '(objectClass=groupOfNames)', 'uniqueMember' for '(objectClass=GroupOfUniqueNames)' when using OpenLDAP; 'member' for '(objectClass=group)' when using Microsoft AD.",
                        "type": "string"
                    },
                    {
                        "name": "role_map",
                        "required": false,
                        "in": "formData",
                        "description": "Dictionary string that maps LDAP groups/roles to a list of tron roles",
                        "type": "string"
                    }
                ],
                "description": "Replace the LDAP config with this UUID.",
                "summary": "Replace the LDAP config with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "ldap-configs"
                ]
            },
            "patch": {
                "operationId": "ldap-configs_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LDAPConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "LDAP config description",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "LDAP config name",
                        "type": "string"
                    },
                    {
                        "name": "enabled",
                        "required": false,
                        "in": "formData",
                        "description": "Activate this LDAP Configuration, if false, configuration exists in database but will not be used",
                        "type": "boolean"
                    },
                    {
                        "name": "server_ip",
                        "required": false,
                        "in": "formData",
                        "description": "Server address",
                        "type": "string"
                    },
                    {
                        "name": "enable_ssl",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "ssl_level",
                        "required": false,
                        "in": "formData",
                        "description": "SSL security level (NEVER, ALLOW, DEMAND)",
                        "type": "string"
                    },
                    {
                        "name": "domain_search_user",
                        "required": false,
                        "in": "formData",
                        "description": "LDAP username to perform user lookups. Example: user@domain.com",
                        "type": "string"
                    },
                    {
                        "name": "domain_search_password",
                        "required": false,
                        "in": "formData",
                        "description": "Password for domain search user",
                        "type": "string"
                    },
                    {
                        "name": "enable_referrals",
                        "required": false,
                        "in": "formData",
                        "description": "Microsoft AD needs this to be disabled. (Anonymous bind is not supported)",
                        "type": "boolean"
                    },
                    {
                        "name": "base_dn",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "user_name_attribute",
                        "required": false,
                        "in": "formData",
                        "description": "Attribute to load user name",
                        "type": "string"
                    },
                    {
                        "name": "tenant_attribute",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant attribute to filter user",
                        "type": "string"
                    },
                    {
                        "name": "accessible_tenants_attribute",
                        "required": false,
                        "in": "formData",
                        "description": "Attribute to define multiple tenant access for this user",
                        "type": "string"
                    },
                    {
                        "name": "group_name_attribute",
                        "required": false,
                        "in": "formData",
                        "description": "Attribute to load group name",
                        "type": "string"
                    },
                    {
                        "name": "group_object_filter",
                        "required": false,
                        "in": "formData",
                        "description": "Filter when searching group",
                        "type": "string"
                    },
                    {
                        "name": "member_attr",
                        "required": false,
                        "in": "formData",
                        "description": "'member_attr' used for 'group_object_filter', e.g. set 'memberUid' for '(objectClass=posixGroup)', 'member' for '(objectClass=groupOfNames)', 'uniqueMember' for '(objectClass=GroupOfUniqueNames)' when using OpenLDAP; 'member' for '(objectClass=group)' when using Microsoft AD.",
                        "type": "string"
                    },
                    {
                        "name": "role_map",
                        "required": false,
                        "in": "formData",
                        "description": "Dictionary string that maps LDAP groups/roles to a list of tron roles",
                        "type": "string"
                    }
                ],
                "description": "Update some values for the LDAP config with this UUID.",
                "summary": "Update some values for the LDAP config with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "ldap-configs"
                ]
            }
        },
        "/tron/api/v1/login-detail": {
            "get": {
                "operationId": "login-detail_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LoginDetailSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "user_uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_successful",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "user",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Lists the login details associated user's last sessions. For admins/sysadmins,\nit lists details for all the users in that tenant",
                "summary": "Lists the login details associated user's last sessions. For admins/sysadmins,",
                "tags": [
                    "login-detail"
                ]
            }
        },
        "/tron/api/v1/login-info": {
            "get": {
                "operationId": "login-info_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LoginInfoSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Login Info.",
                "summary": "Login Info.",
                "tags": [
                    "login-info"
                ]
            }
        },
        "/tron/api/v1/login-message": {
            "get": {
                "operationId": "login-message_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LoginMessageSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get the one and only pre-login message.",
                "summary": "Get the one and only pre-login message.",
                "tags": [
                    "login-message"
                ]
            }
        },
        "/tron/api/v1/login-message/{uuid}": {
            "get": {
                "operationId": "login-message_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LoginMessageSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get the one and only pre-login message.",
                "summary": "Get the one and only pre-login message.",
                "tags": [
                    "login-message"
                ]
            },
            "put": {
                "operationId": "login-message_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LoginMessageSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "message",
                        "required": true,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Replace the permission with this UUID.",
                "summary": "Replace the permission with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "login-message"
                ]
            },
            "patch": {
                "operationId": "login-message_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/LoginMessageSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "message",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Update some values for the permission with this UUID.",
                "summary": "Update some values for the permission with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "login-message"
                ]
            }
        },
        "/tron/api/v1/logout": {
            "post": {
                "operationId": "logout_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Serializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [],
                "description": "API endpoint for ui app users to logout.\n\nExpects authorization and csrftoken\ncookies, also X-CSRFToken header",
                "summary": "API endpoint for ui app users to logout.",
                "tags": [
                    "logout"
                ]
            }
        },
        "/tron/api/v1/notification-config": {
            "get": {
                "operationId": "notification-config_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/NotificationConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get the Tron notification configuration.",
                "summary": "Get the Tron notification configuration.",
                "tags": [
                    "notification-config"
                ]
            }
        },
        "/tron/api/v1/notification-config/{uuid}": {
            "get": {
                "operationId": "notification-config_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/NotificationConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get the Tron notification configuration.",
                "summary": "Get the Tron notification configuration.",
                "tags": [
                    "notification-config"
                ]
            },
            "put": {
                "operationId": "notification-config_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/NotificationConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "enabled",
                        "required": false,
                        "in": "formData",
                        "description": "Whether email support is enabled",
                        "type": "boolean"
                    },
                    {
                        "name": "emailLinkServer",
                        "required": false,
                        "in": "formData",
                        "description": "Hostname/IP to use in links in email alerts (Reset password and first time account setup emails)",
                        "type": "string"
                    },
                    {
                        "name": "resetLinkPath",
                        "required": false,
                        "in": "formData",
                        "description": "Path on server of reset password page - for example, uac/#/set-password for the uac-ui app.Don't change this field unless you really know what you're doing.",
                        "type": "string"
                    },
                    {
                        "name": "confirmLinkPath",
                        "required": false,
                        "in": "formData",
                        "description": "Path on server of confirm email page - for example, uac/#/confirm-email for the uac-ui app.Don't change this field unless you really know what you're doing.",
                        "type": "string"
                    }
                ],
                "description": "Update the Tron notification configuration.",
                "summary": "Update the Tron notification configuration.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "notification-config"
                ]
            },
            "patch": {
                "operationId": "notification-config_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/NotificationConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "enabled",
                        "required": false,
                        "in": "formData",
                        "description": "Whether email support is enabled",
                        "type": "boolean"
                    },
                    {
                        "name": "emailLinkServer",
                        "required": false,
                        "in": "formData",
                        "description": "Hostname/IP to use in links in email alerts (Reset password and first time account setup emails)",
                        "type": "string"
                    },
                    {
                        "name": "resetLinkPath",
                        "required": false,
                        "in": "formData",
                        "description": "Path on server of reset password page - for example, uac/#/set-password for the uac-ui app.Don't change this field unless you really know what you're doing.",
                        "type": "string"
                    },
                    {
                        "name": "confirmLinkPath",
                        "required": false,
                        "in": "formData",
                        "description": "Path on server of confirm email page - for example, uac/#/confirm-email for the uac-ui app.Don't change this field unless you really know what you're doing.",
                        "type": "string"
                    }
                ],
                "description": "Update certain fields of the Tron notification configuration.",
                "summary": "Update certain fields of the Tron notification configuration.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "notification-config"
                ]
            }
        },
        "/tron/api/v1/oauth2/tokens": {
            "post": {
                "operationId": "oauth2_tokens_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/OAuth2TokenSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "username",
                        "required": true,
                        "in": "formData",
                        "description": "Request token for user with username",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant name of user",
                        "type": "string"
                    },
                    {
                        "name": "tenant_context",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant name, request token for this tenant, applicable only if user can access multiple tenants",
                        "type": "string"
                    },
                    {
                        "name": "password",
                        "required": true,
                        "in": "formData",
                        "description": "Password for user",
                        "type": "string"
                    },
                    {
                        "name": "expires_in",
                        "required": false,
                        "in": "formData",
                        "description": "Token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "grant_type",
                        "required": true,
                        "in": "formData",
                        "description": "Accepted value is \"password\"",
                        "type": "string"
                    },
                    {
                        "name": "inactive_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_successful",
                        "required": false,
                        "in": "formData",
                        "description": "Deprecated. Only successfull logins are stored.",
                        "type": "string"
                    },
                    {
                        "name": "user_tenant_uuid",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "radius_state",
                        "required": false,
                        "in": "formData",
                        "description": "Represents the Access-Challenge State attribute",
                        "type": "string"
                    }
                ],
                "description": "Create an OAuth2 Token.",
                "summary": "Create an OAuth2 Token.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "oauth2"
                ]
            }
        },
        "/tron/api/v1/oauth2/tokens/{token}": {
            "delete": {
                "operationId": "oauth2_tokens_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Delete an OAuth2 token.",
                "summary": "Delete an OAuth2 token.",
                "tags": [
                    "oauth2"
                ]
            }
        },
        "/tron/api/v1/oauth2/tokens/{token}/change_tenant_context": {
            "post": {
                "operationId": "oauth2_tokens_change_tenant_context",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/OAuth2TokenSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "username",
                        "required": true,
                        "in": "formData",
                        "description": "Request token for user with username",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant name of user",
                        "type": "string"
                    },
                    {
                        "name": "tenant_context",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant name, request token for this tenant, applicable only if user can access multiple tenants",
                        "type": "string"
                    },
                    {
                        "name": "password",
                        "required": true,
                        "in": "formData",
                        "description": "Password for user",
                        "type": "string"
                    },
                    {
                        "name": "expires_in",
                        "required": false,
                        "in": "formData",
                        "description": "Token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "grant_type",
                        "required": true,
                        "in": "formData",
                        "description": "Accepted value is \"password\"",
                        "type": "string"
                    },
                    {
                        "name": "inactive_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_successful",
                        "required": false,
                        "in": "formData",
                        "description": "Deprecated. Only successfull logins are stored.",
                        "type": "string"
                    },
                    {
                        "name": "user_tenant_uuid",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "radius_state",
                        "required": false,
                        "in": "formData",
                        "description": "Represents the Access-Challenge State attribute",
                        "type": "string"
                    }
                ],
                "description": "Change to the tenant context specified via tenant_context.",
                "summary": "Change to the tenant context specified via tenant_context.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "oauth2"
                ]
            }
        },
        "/tron/api/v1/partitions": {
            "get": {
                "operationId": "partitions_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PartitionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_active",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "search",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all partitions.",
                "summary": "List of all partitions.",
                "tags": [
                    "partitions"
                ]
            },
            "post": {
                "operationId": "partitions_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/PartitionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "is_active",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this partition should be treated as active.",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Partition name",
                        "type": "string"
                    }
                ],
                "description": "Create a new partition.",
                "summary": "Create a new partition.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "partitions"
                ]
            }
        },
        "/tron/api/v1/partitions/{uuid}": {
            "get": {
                "operationId": "partitions_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PartitionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific partition by UUID.",
                "summary": "Get a specific partition by UUID.",
                "tags": [
                    "partitions"
                ]
            },
            "put": {
                "operationId": "partitions_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PartitionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "is_active",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this partition should be treated as active.",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Partition name",
                        "type": "string"
                    }
                ],
                "description": "Replace the partition with this UUID.",
                "summary": "Replace the partition with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "partitions"
                ]
            },
            "patch": {
                "operationId": "partitions_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PartitionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "is_active",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this partition should be treated as active.",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "Partition name",
                        "type": "string"
                    }
                ],
                "description": "Update some values for the partition with this UUID.",
                "summary": "Update some values for the partition with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "partitions"
                ]
            },
            "delete": {
                "operationId": "partitions_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Delete the partition with this UUID.",
                "summary": "Delete the partition with this UUID.",
                "tags": [
                    "partitions"
                ]
            }
        },
        "/tron/api/v1/passwordpolicies": {
            "get": {
                "operationId": "passwordpolicies_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PasswordPolicySerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "enable_lockout",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "history_size",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "allow_common_passwords",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "allow_dictionary_words",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "lockout_non_changed_days",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "minimum_change_days",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "minimum_digits",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "minimum_distance",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "minimum_lowercase",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "minimum_password_length",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "minimum_special_chars",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "minimum_strength",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "minimum_uppercase",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "password_change_days",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "require_periodic_change",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all password policies.",
                "summary": "List of all password policies.",
                "tags": [
                    "passwordpolicies"
                ]
            },
            "post": {
                "operationId": "passwordpolicies_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/PasswordPolicySerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant UUID, if not provided \"master\" tenant is used",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Password policy description",
                        "type": "string"
                    },
                    {
                        "name": "password_expiration_warning_period",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before the password expires to provide notifications.",
                        "type": "integer"
                    },
                    {
                        "name": "email_password_expiration_weekly_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of weeks before password expires to send emails. One email sent per week.",
                        "type": "integer"
                    },
                    {
                        "name": "email_password_expiration_daily_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before password expires to send emails. One email sent per day.",
                        "type": "integer"
                    },
                    {
                        "name": "enable_lockout",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "failed_login_attempts",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "history_size",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "lockout_duration_minutes",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "lockout_non_changed_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_change_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_digits",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_lowercase",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_password_length",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_special_chars",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_uppercase",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "password_change_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "require_periodic_change",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Policy name",
                        "type": "string"
                    }
                ],
                "description": "Create a new password policy.",
                "summary": "Create a new password policy.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "passwordpolicies"
                ]
            }
        },
        "/tron/api/v1/passwordpolicies/{uuid}": {
            "get": {
                "operationId": "passwordpolicies_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PasswordPolicySerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific password policy by UUID.",
                "summary": "Get a specific password policy by UUID.",
                "tags": [
                    "passwordpolicies"
                ]
            },
            "put": {
                "operationId": "passwordpolicies_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PasswordPolicySerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant UUID, if not provided \"master\" tenant is used",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Password policy description",
                        "type": "string"
                    },
                    {
                        "name": "password_expiration_warning_period",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before the password expires to provide notifications.",
                        "type": "integer"
                    },
                    {
                        "name": "email_password_expiration_weekly_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of weeks before password expires to send emails. One email sent per week.",
                        "type": "integer"
                    },
                    {
                        "name": "email_password_expiration_daily_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before password expires to send emails. One email sent per day.",
                        "type": "integer"
                    },
                    {
                        "name": "enable_lockout",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "failed_login_attempts",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "history_size",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "lockout_duration_minutes",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "lockout_non_changed_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_change_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_digits",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_lowercase",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_password_length",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_special_chars",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_uppercase",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "password_change_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "require_periodic_change",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Policy name",
                        "type": "string"
                    }
                ],
                "description": "Replace the password policy with this UUID.",
                "summary": "Replace the password policy with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "passwordpolicies"
                ]
            },
            "patch": {
                "operationId": "passwordpolicies_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PasswordPolicySerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant UUID, if not provided \"master\" tenant is used",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Password policy description",
                        "type": "string"
                    },
                    {
                        "name": "password_expiration_warning_period",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before the password expires to provide notifications.",
                        "type": "integer"
                    },
                    {
                        "name": "email_password_expiration_weekly_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of weeks before password expires to send emails. One email sent per week.",
                        "type": "integer"
                    },
                    {
                        "name": "email_password_expiration_daily_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before password expires to send emails. One email sent per day.",
                        "type": "integer"
                    },
                    {
                        "name": "enable_lockout",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "failed_login_attempts",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "history_size",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "lockout_duration_minutes",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "lockout_non_changed_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_change_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_digits",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_lowercase",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_password_length",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_special_chars",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "minimum_uppercase",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "password_change_days",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "require_periodic_change",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "Policy name",
                        "type": "string"
                    }
                ],
                "description": "Update some values for the password policy with this UUID.",
                "summary": "Update some values for the password policy with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "passwordpolicies"
                ]
            }
        },
        "/tron/api/v1/permissions": {
            "get": {
                "operationId": "permissions_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PermissionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "isDefault",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "customerModifiable",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "category",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "category__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "category__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all permissions.",
                "summary": "List of all permissions.",
                "tags": [
                    "permissions"
                ]
            },
            "post": {
                "operationId": "permissions_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/PermissionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "displayName",
                        "required": true,
                        "in": "formData",
                        "description": "Display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "category",
                        "required": false,
                        "in": "formData",
                        "description": "Permission Category",
                        "type": "string"
                    },
                    {
                        "name": "operation",
                        "required": true,
                        "in": "formData",
                        "description": "HTTP Operation like GET/POST",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Permission Description",
                        "type": "string"
                    },
                    {
                        "name": "standby",
                        "required": true,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Permission name",
                        "type": "string"
                    }
                ],
                "description": "Create a new permission.",
                "summary": "Create a new permission.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "permissions"
                ]
            }
        },
        "/tron/api/v1/permissions/{uuid}": {
            "get": {
                "operationId": "permissions_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PermissionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific permission by UUID.",
                "summary": "Get a specific permission by UUID.",
                "tags": [
                    "permissions"
                ]
            },
            "put": {
                "operationId": "permissions_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PermissionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": true,
                        "in": "formData",
                        "description": "Display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "category",
                        "required": false,
                        "in": "formData",
                        "description": "Permission Category",
                        "type": "string"
                    },
                    {
                        "name": "operation",
                        "required": true,
                        "in": "formData",
                        "description": "HTTP Operation like GET/POST",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Permission Description",
                        "type": "string"
                    },
                    {
                        "name": "standby",
                        "required": true,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Permission name",
                        "type": "string"
                    }
                ],
                "description": "Defines permissions for the roles.",
                "summary": "Defines permissions for the roles.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "permissions"
                ]
            },
            "patch": {
                "operationId": "permissions_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/PermissionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "Display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "category",
                        "required": false,
                        "in": "formData",
                        "description": "Permission Category",
                        "type": "string"
                    },
                    {
                        "name": "operation",
                        "required": false,
                        "in": "formData",
                        "description": "HTTP Operation like GET/POST",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Permission Description",
                        "type": "string"
                    },
                    {
                        "name": "standby",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "boolean"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "Permission name",
                        "type": "string"
                    }
                ],
                "description": "Defines permissions for the roles.",
                "summary": "Defines permissions for the roles.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "permissions"
                ]
            },
            "delete": {
                "operationId": "permissions_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Defines permissions for the roles.",
                "summary": "Defines permissions for the roles.",
                "tags": [
                    "permissions"
                ]
            }
        },
        "/tron/api/v1/permissions/{uuid}/add_resources": {
            "post": {
                "operationId": "permissions_add_resources",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/PermissionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "resources",
                        "required": true,
                        "in": "formData",
                        "description": "list of resource uuids",
                        "type": "string"
                    }
                ],
                "description": "Defines permissions for the roles.",
                "summary": "Defines permissions for the roles.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "permissions"
                ]
            }
        },
        "/tron/api/v1/permissions/{uuid}/remove_resources": {
            "post": {
                "operationId": "permissions_remove_resources",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/PermissionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "resources",
                        "required": true,
                        "in": "formData",
                        "description": "list of resource uuids",
                        "type": "string"
                    }
                ],
                "description": "Defines permissions for the roles.",
                "summary": "Defines permissions for the roles.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "permissions"
                ]
            }
        },
        "/tron/api/v1/radius-configs": {
            "get": {
                "operationId": "radius-configs_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RADIUSConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all RADIUS configurations.",
                "summary": "List of all RADIUS configurations.",
                "tags": [
                    "radius-configs"
                ]
            },
            "post": {
                "operationId": "radius-configs_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/RADIUSConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "RADIUS config description",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": true,
                        "in": "formData",
                        "description": "Tenant name",
                        "type": "string"
                    },
                    {
                        "name": "server_ip",
                        "required": true,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "retries",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "authport",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "RADIUS config name",
                        "type": "string"
                    },
                    {
                        "name": "enabled",
                        "required": false,
                        "in": "formData",
                        "description": "Activate this RADIUS configuration, if false, configuration exists in database but will not be used",
                        "type": "boolean"
                    },
                    {
                        "name": "server_secret",
                        "required": false,
                        "in": "formData",
                        "description": "Server secret",
                        "type": "string"
                    },
                    {
                        "name": "role_map",
                        "required": false,
                        "in": "formData",
                        "description": "Dictionary string that maps radius group/role to tron role",
                        "type": "string"
                    },
                    {
                        "name": "authoritative_role_source",
                        "required": false,
                        "in": "formData",
                        "description": "True if your RADIUS keeps a list of users' roles",
                        "type": "boolean"
                    },
                    {
                        "name": "timeout",
                        "required": false,
                        "in": "formData",
                        "description": "Timeout in seconds for attempts to talk to the RADIUS server. Range is 1 to 60.",
                        "type": "integer"
                    },
                    {
                        "name": "heartbeat_user",
                        "required": false,
                        "in": "formData",
                        "description": "Heartbeat user",
                        "type": "string"
                    },
                    {
                        "name": "heartbeat_pwd",
                        "required": false,
                        "in": "formData",
                        "description": "Heartbeat password",
                        "type": "string"
                    }
                ],
                "description": "Stop user from creating more than two configurations per tenant.",
                "summary": "Stop user from creating more than two configurations per tenant.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "radius-configs"
                ]
            }
        },
        "/tron/api/v1/radius-configs/{uuid}": {
            "get": {
                "operationId": "radius-configs_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RADIUSConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific RADIUS config by UUID.",
                "summary": "Get a specific RADIUS config by UUID.",
                "tags": [
                    "radius-configs"
                ]
            },
            "put": {
                "operationId": "radius-configs_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RADIUSConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "RADIUS config description",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": true,
                        "in": "formData",
                        "description": "Tenant name",
                        "type": "string"
                    },
                    {
                        "name": "server_ip",
                        "required": true,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "retries",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "authport",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "RADIUS config name",
                        "type": "string"
                    },
                    {
                        "name": "enabled",
                        "required": false,
                        "in": "formData",
                        "description": "Activate this RADIUS configuration, if false, configuration exists in database but will not be used",
                        "type": "boolean"
                    },
                    {
                        "name": "server_secret",
                        "required": false,
                        "in": "formData",
                        "description": "Server secret",
                        "type": "string"
                    },
                    {
                        "name": "role_map",
                        "required": false,
                        "in": "formData",
                        "description": "Dictionary string that maps radius group/role to tron role",
                        "type": "string"
                    },
                    {
                        "name": "authoritative_role_source",
                        "required": false,
                        "in": "formData",
                        "description": "True if your RADIUS keeps a list of users' roles",
                        "type": "boolean"
                    },
                    {
                        "name": "timeout",
                        "required": false,
                        "in": "formData",
                        "description": "Timeout in seconds for attempts to talk to the RADIUS server. Range is 1 to 60.",
                        "type": "integer"
                    },
                    {
                        "name": "heartbeat_user",
                        "required": false,
                        "in": "formData",
                        "description": "Heartbeat user",
                        "type": "string"
                    },
                    {
                        "name": "heartbeat_pwd",
                        "required": false,
                        "in": "formData",
                        "description": "Heartbeat password",
                        "type": "string"
                    }
                ],
                "description": "Replace the RADIUS configuration with this UUID.",
                "summary": "Replace the RADIUS configuration with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "radius-configs"
                ]
            },
            "patch": {
                "operationId": "radius-configs_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RADIUSConfigSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "RADIUS config description",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant name",
                        "type": "string"
                    },
                    {
                        "name": "server_ip",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "retries",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "authport",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "RADIUS config name",
                        "type": "string"
                    },
                    {
                        "name": "enabled",
                        "required": false,
                        "in": "formData",
                        "description": "Activate this RADIUS configuration, if false, configuration exists in database but will not be used",
                        "type": "boolean"
                    },
                    {
                        "name": "server_secret",
                        "required": false,
                        "in": "formData",
                        "description": "Server secret",
                        "type": "string"
                    },
                    {
                        "name": "role_map",
                        "required": false,
                        "in": "formData",
                        "description": "Dictionary string that maps radius group/role to tron role",
                        "type": "string"
                    },
                    {
                        "name": "authoritative_role_source",
                        "required": false,
                        "in": "formData",
                        "description": "True if your RADIUS keeps a list of users' roles",
                        "type": "boolean"
                    },
                    {
                        "name": "timeout",
                        "required": false,
                        "in": "formData",
                        "description": "Timeout in seconds for attempts to talk to the RADIUS server. Range is 1 to 60.",
                        "type": "integer"
                    },
                    {
                        "name": "heartbeat_user",
                        "required": false,
                        "in": "formData",
                        "description": "Heartbeat user",
                        "type": "string"
                    },
                    {
                        "name": "heartbeat_pwd",
                        "required": false,
                        "in": "formData",
                        "description": "Heartbeat password",
                        "type": "string"
                    }
                ],
                "description": "Update some values for the RADIUS config with this UUID.",
                "summary": "Update some values for the RADIUS config with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "radius-configs"
                ]
            }
        },
        "/tron/api/v1/register": {
            "get": {
                "operationId": "register_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RegistrationSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "search",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all Pending registrations.",
                "summary": "List of all Pending registrations.",
                "tags": [
                    "register"
                ]
            },
            "post": {
                "operationId": "register_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/RegistrationSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "first_name",
                        "required": true,
                        "in": "formData",
                        "description": "user's first name",
                        "type": "string"
                    },
                    {
                        "name": "last_name",
                        "required": true,
                        "in": "formData",
                        "description": "user's last name",
                        "type": "string"
                    },
                    {
                        "name": "email",
                        "required": true,
                        "in": "formData",
                        "description": "user's email address",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "tenant UUID of user, if not provided \"master\" tenant is used",
                        "type": "string"
                    },
                    {
                        "name": "password",
                        "required": true,
                        "in": "formData",
                        "description": "user's Password",
                        "type": "string"
                    },
                    {
                        "name": "username",
                        "required": true,
                        "in": "formData",
                        "description": "User's username",
                        "type": "string"
                    }
                ],
                "description": "Create a new user.",
                "summary": "Create a new user.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "register"
                ]
            }
        },
        "/tron/api/v1/register/approve_users": {
            "post": {
                "operationId": "register_approve_users",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "registrations",
                        "required": true,
                        "in": "formData",
                        "description": "list of registration uuids",
                        "type": "string"
                    }
                ],
                "description": "Approve registrations for the requested registration uuids.",
                "summary": "Approve registrations for the requested registration uuids.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "register"
                ]
            }
        },
        "/tron/api/v1/register/confirm_email": {
            "post": {
                "operationId": "register_confirm_email",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "required": true,
                        "in": "formData",
                        "description": "Token from the email",
                        "type": "string"
                    }
                ],
                "description": "Endpoint to confirm a user's email.",
                "summary": "Endpoint to confirm a user's email.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "register"
                ]
            }
        },
        "/tron/api/v1/register/forgot_password": {
            "post": {
                "operationId": "register_forgot_password",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "email",
                        "required": true,
                        "in": "formData",
                        "description": "user's email address",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "tenant name",
                        "type": "string"
                    }
                ],
                "description": "Endpoint to send a confirmation email link for forgotten password.",
                "summary": "Endpoint to send a confirmation email link for forgotten password.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "register"
                ]
            }
        },
        "/tron/api/v1/register/reject_users": {
            "post": {
                "operationId": "register_reject_users",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "registrations",
                        "required": true,
                        "in": "formData",
                        "description": "list of registration uuids",
                        "type": "string"
                    }
                ],
                "description": "Reject registrations for the requested registration uuids.",
                "summary": "Reject registrations for the requested registration uuids.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "register"
                ]
            }
        },
        "/tron/api/v1/register/resend_confirmation": {
            "post": {
                "operationId": "register_resend_confirmation",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "email",
                        "required": true,
                        "in": "formData",
                        "description": "user's email address",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "tenant name",
                        "type": "string"
                    }
                ],
                "description": "Endpoint to resend a confirmation email for registered users.",
                "summary": "Endpoint to resend a confirmation email for registered users.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "register"
                ]
            }
        },
        "/tron/api/v1/register/set_password": {
            "post": {
                "operationId": "register_set_password",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "required": true,
                        "in": "formData",
                        "description": "token from the forgot password email",
                        "type": "string"
                    },
                    {
                        "name": "password",
                        "required": true,
                        "in": "formData",
                        "description": "user's new password",
                        "type": "string"
                    }
                ],
                "description": "Endpoint to accept a password for forgotten password.",
                "summary": "Endpoint to accept a password for forgotten password.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "register"
                ]
            }
        },
        "/tron/api/v1/resources": {
            "get": {
                "operationId": "resources_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "customerModifiable",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all resources.",
                "summary": "List of all resources.",
                "tags": [
                    "resources"
                ]
            },
            "post": {
                "operationId": "resources_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/ResourceSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "resource",
                        "required": true,
                        "in": "formData",
                        "description": "HTTP Resource like api/v1/users",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Resource name",
                        "type": "string"
                    }
                ],
                "description": "Create a new resource.",
                "summary": "Create a new resource.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "resources"
                ]
            }
        },
        "/tron/api/v1/resources/{uuid}": {
            "get": {
                "operationId": "resources_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific resource by UUID.",
                "summary": "Get a specific resource by UUID.",
                "tags": [
                    "resources"
                ]
            },
            "put": {
                "operationId": "resources_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "resource",
                        "required": true,
                        "in": "formData",
                        "description": "HTTP Resource like api/v1/users",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Resource name",
                        "type": "string"
                    }
                ],
                "description": "Defines resources for the permission.",
                "summary": "Defines resources for the permission.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "resources"
                ]
            },
            "patch": {
                "operationId": "resources_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/ResourceSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "resource",
                        "required": false,
                        "in": "formData",
                        "description": "HTTP Resource like api/v1/users",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "Resource name",
                        "type": "string"
                    }
                ],
                "description": "Defines resources for the permission.",
                "summary": "Defines resources for the permission.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "resources"
                ]
            },
            "delete": {
                "operationId": "resources_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Defines resources for the permission.",
                "summary": "Defines resources for the permission.",
                "tags": [
                    "resources"
                ]
            }
        },
        "/tron/api/v1/resync": {
            "post": {
                "operationId": "resync_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/Serializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [],
                "description": "resync",
                "summary": "resync",
                "tags": [
                    "resync"
                ]
            }
        },
        "/tron/api/v1/roles": {
            "get": {
                "operationId": "roles_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "application__uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "application__name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "user",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "application",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "isInternal",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "customerModifiable",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "bypassDormancy",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all roles.",
                "summary": "List of all roles.",
                "tags": [
                    "roles"
                ]
            },
            "post": {
                "operationId": "roles_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "displayName",
                        "required": true,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "application",
                        "required": false,
                        "in": "formData",
                        "description": "Application uuid, if not provided default \"BluePlanet\" app is used",
                        "type": "string"
                    },
                    {
                        "name": "reserved_sessions",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions per role. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Role name",
                        "type": "string"
                    },
                    {
                        "name": "all_partitions",
                        "required": false,
                        "in": "formData",
                        "description": "Ignore partitions field and enable all active available partitions",
                        "type": "boolean"
                    },
                    {
                        "name": "parents",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                ],
                "description": "Create a new role.",
                "summary": "Create a new role.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/total_reserved_sessions": {
            "get": {
                "operationId": "roles_total_reserved_sessions",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [],
                "description": "Return the total number of reserved sessions across all the Roles",
                "summary": "Return the total number of reserved sessions across all the Roles",
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}": {
            "get": {
                "operationId": "roles_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific role by UUID.",
                "summary": "Get a specific role by UUID.",
                "tags": [
                    "roles"
                ]
            },
            "put": {
                "operationId": "roles_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": true,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "application",
                        "required": false,
                        "in": "formData",
                        "description": "Application uuid, if not provided default \"BluePlanet\" app is used",
                        "type": "string"
                    },
                    {
                        "name": "reserved_sessions",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions per role. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Role name",
                        "type": "string"
                    },
                    {
                        "name": "all_partitions",
                        "required": false,
                        "in": "formData",
                        "description": "Ignore partitions field and enable all active available partitions",
                        "type": "boolean"
                    },
                    {
                        "name": "parents",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                ],
                "description": "Replace the role with this UUID.",
                "summary": "Replace the role with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            },
            "patch": {
                "operationId": "roles_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "display name, same as name if not provided",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "application",
                        "required": false,
                        "in": "formData",
                        "description": "Application uuid, if not provided default \"BluePlanet\" app is used",
                        "type": "string"
                    },
                    {
                        "name": "reserved_sessions",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions per role. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "Role name",
                        "type": "string"
                    },
                    {
                        "name": "all_partitions",
                        "required": false,
                        "in": "formData",
                        "description": "Ignore partitions field and enable all active available partitions",
                        "type": "boolean"
                    },
                    {
                        "name": "parents",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                ],
                "description": "Update some values for the role with this UUID.",
                "summary": "Update some values for the role with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            },
            "delete": {
                "operationId": "roles_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Defines roles of an application.",
                "summary": "Defines roles of an application.",
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/add_parents": {
            "post": {
                "operationId": "roles_add_parents",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "parents",
                        "required": true,
                        "in": "formData",
                        "description": "list of role uuids",
                        "type": "string"
                    }
                ],
                "description": "Add parents to this role.",
                "summary": "Add parents to this role.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/add_partitions": {
            "post": {
                "operationId": "roles_add_partitions",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "partitions",
                        "required": true,
                        "in": "formData",
                        "description": "list of partition uuids",
                        "type": "string"
                    }
                ],
                "description": "Defines roles of an application.",
                "summary": "Defines roles of an application.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/add_permissions": {
            "post": {
                "operationId": "roles_add_permissions",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "permissions",
                        "required": true,
                        "in": "formData",
                        "description": "list of permission uuids",
                        "type": "string"
                    }
                ],
                "description": "Defines roles of an application.",
                "summary": "Defines roles of an application.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/add_users": {
            "post": {
                "operationId": "roles_add_users",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "users",
                        "required": true,
                        "in": "formData",
                        "description": "list of user uuids",
                        "type": "string"
                    }
                ],
                "description": "Add users to this role.",
                "summary": "Add users to this role.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/remove_parents": {
            "post": {
                "operationId": "roles_remove_parents",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "parents",
                        "required": true,
                        "in": "formData",
                        "description": "list of role uuids",
                        "type": "string"
                    }
                ],
                "description": "Remove parents from this role.",
                "summary": "Remove parents from this role.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/remove_partitions": {
            "post": {
                "operationId": "roles_remove_partitions",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "partitions",
                        "required": true,
                        "in": "formData",
                        "description": "list of partition uuids",
                        "type": "string"
                    }
                ],
                "description": "Defines roles of an application.",
                "summary": "Defines roles of an application.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/remove_permissions": {
            "post": {
                "operationId": "roles_remove_permissions",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "permissions",
                        "required": true,
                        "in": "formData",
                        "description": "list of permission uuids",
                        "type": "string"
                    }
                ],
                "description": "Defines roles of an application.",
                "summary": "Defines roles of an application.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/remove_users": {
            "post": {
                "operationId": "roles_remove_users",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "users",
                        "required": true,
                        "in": "formData",
                        "description": "list of user uuids",
                        "type": "string"
                    }
                ],
                "description": "Remove users from this role.",
                "summary": "Remove users from this role.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/roles/{uuid}/set_reserved_sessions": {
            "post": {
                "operationId": "roles_set_reserved_sessions",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/RoleSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "reserved_sessions",
                        "required": true,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions per role. (0=infinity)",
                        "type": "integer"
                    }
                ],
                "description": "Allow admin and sysadmin to change the role's reserved_sessions.",
                "summary": "Allow admin and sysadmin to change the role's reserved_sessions.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "roles"
                ]
            }
        },
        "/tron/api/v1/sessions": {
            "get": {
                "operationId": "sessions_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SessionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "session_id",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "username",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ip_address",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "session_type",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "username__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "username__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ip_address__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ip_address__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "session_type__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "session_type__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "search",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all sessions.",
                "summary": "List of all sessions.",
                "tags": [
                    "sessions"
                ]
            }
        },
        "/tron/api/v1/sessions/{session_id}": {
            "get": {
                "operationId": "sessions_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/SessionSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "session_id",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific session.",
                "summary": "Get a specific session.",
                "tags": [
                    "sessions"
                ]
            },
            "delete": {
                "operationId": "sessions_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "session_id",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Delete a session.",
                "summary": "Delete a session.",
                "tags": [
                    "sessions"
                ]
            }
        },
        "/tron/api/v1/tenants": {
            "get": {
                "operationId": "tenants_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TenantSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "isMaster",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "isActive",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "displayName__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "search",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List all tenants.",
                "summary": "List all tenants.",
                "tags": [
                    "tenants"
                ]
            },
            "post": {
                "operationId": "tenants_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/TenantSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant display name",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant description",
                        "type": "string"
                    },
                    {
                        "name": "parent",
                        "required": true,
                        "in": "formData",
                        "description": "Parent tenant UUID",
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant type",
                        "type": "string"
                    },
                    {
                        "name": "concurrent_session_max_per_tenant",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions per tenant. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions for tenant users. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "email_dormancy_weekly_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of weeks before dormancy to send emails. One email sent per week.",
                        "type": "integer"
                    },
                    {
                        "name": "email_dormancy_daily_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before dormancy to send emails. One email sent per day.",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Tenant name",
                        "type": "string"
                    },
                    {
                        "name": "isActive",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this tenant should be treated as active. If Tenant is not active, none of its users can be authenticated",
                        "type": "boolean"
                    },
                    {
                        "name": "message",
                        "required": false,
                        "in": "formData",
                        "description": "Message to be displayed after the user logs-in. Can be text, html, etc..",
                        "type": "string"
                    }
                ],
                "description": "Create a new Tenant.",
                "summary": "Create a new Tenant.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "tenants"
                ]
            }
        },
        "/tron/api/v1/tenants/{uuid}": {
            "get": {
                "operationId": "tenants_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TenantSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific tenant by UUID.",
                "summary": "Get a specific tenant by UUID.",
                "tags": [
                    "tenants"
                ]
            },
            "put": {
                "operationId": "tenants_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TenantSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant display name",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant description",
                        "type": "string"
                    },
                    {
                        "name": "parent",
                        "required": true,
                        "in": "formData",
                        "description": "Parent tenant UUID",
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant type",
                        "type": "string"
                    },
                    {
                        "name": "concurrent_session_max_per_tenant",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions per tenant. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions for tenant users. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "email_dormancy_weekly_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of weeks before dormancy to send emails. One email sent per week.",
                        "type": "integer"
                    },
                    {
                        "name": "email_dormancy_daily_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before dormancy to send emails. One email sent per day.",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Tenant name",
                        "type": "string"
                    },
                    {
                        "name": "isActive",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this tenant should be treated as active. If Tenant is not active, none of its users can be authenticated",
                        "type": "boolean"
                    },
                    {
                        "name": "message",
                        "required": false,
                        "in": "formData",
                        "description": "Message to be displayed after the user logs-in. Can be text, html, etc..",
                        "type": "string"
                    }
                ],
                "description": "Replace the tenant with this UUID.",
                "summary": "Replace the tenant with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "tenants"
                ]
            },
            "patch": {
                "operationId": "tenants_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/TenantSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "displayName",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant display name",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant description",
                        "type": "string"
                    },
                    {
                        "name": "parent",
                        "required": false,
                        "in": "formData",
                        "description": "Parent tenant UUID",
                        "type": "string"
                    },
                    {
                        "name": "type",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant type",
                        "type": "string"
                    },
                    {
                        "name": "concurrent_session_max_per_tenant",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions per tenant. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions for tenant users. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "email_dormancy_weekly_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of weeks before dormancy to send emails. One email sent per week.",
                        "type": "integer"
                    },
                    {
                        "name": "email_dormancy_daily_notifications",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before dormancy to send emails. One email sent per day.",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant name",
                        "type": "string"
                    },
                    {
                        "name": "isActive",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this tenant should be treated as active. If Tenant is not active, none of its users can be authenticated",
                        "type": "boolean"
                    },
                    {
                        "name": "message",
                        "required": false,
                        "in": "formData",
                        "description": "Message to be displayed after the user logs-in. Can be text, html, etc..",
                        "type": "string"
                    }
                ],
                "description": "Update some values for the tenant with this UUID.",
                "summary": "Update some values for the tenant with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "tenants"
                ]
            }
        },
        "/tron/api/v1/tokens": {
            "post": {
                "operationId": "tokens_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/TokenSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "username",
                        "required": true,
                        "in": "formData",
                        "description": "Request token for user with username",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant name of user",
                        "type": "string"
                    },
                    {
                        "name": "tenant_context",
                        "required": false,
                        "in": "formData",
                        "description": "Tenant name, request token for this tenant, applicable only if user can access multiple tenants",
                        "type": "string"
                    },
                    {
                        "name": "password",
                        "required": true,
                        "in": "formData",
                        "description": "Password for user",
                        "type": "string"
                    },
                    {
                        "name": "inactive_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_successful",
                        "required": false,
                        "in": "formData",
                        "description": "Deprecated. Only successfull logins are stored.",
                        "type": "string"
                    },
                    {
                        "name": "timeout",
                        "required": false,
                        "in": "formData",
                        "description": "Seconds",
                        "type": "integer"
                    },
                    {
                        "name": "user_tenant_uuid",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "radius_state",
                        "required": false,
                        "in": "formData",
                        "description": "Represents the Access-Challenge State attribute",
                        "type": "string"
                    }
                ],
                "description": "Create a new base token.",
                "summary": "Create a new base token.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "tokens"
                ]
            }
        },
        "/tron/api/v1/tokens/{token}": {
            "delete": {
                "operationId": "tokens_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "defines tokens of a user.\nused by token type of authentication against /auth api",
                "summary": "defines tokens of a user.",
                "tags": [
                    "tokens"
                ]
            }
        },
        "/tron/api/v1/tokens/{token}/change_tenant_context": {
            "post": {
                "operationId": "tokens_change_tenant_context",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "tenant_context",
                        "required": true,
                        "in": "formData",
                        "description": "Tenant name, request token for this tenant",
                        "type": "string"
                    }
                ],
                "description": "Change to the tenant context specified via tenant_context.",
                "summary": "Change to the tenant context specified via tenant_context.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "tokens"
                ]
            }
        },
        "/tron/api/v1/usergroups": {
            "get": {
                "operationId": "usergroups_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "user",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of all UserGroups.",
                "summary": "List of all UserGroups.",
                "tags": [
                    "usergroups"
                ]
            },
            "post": {
                "operationId": "usergroups_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Group name",
                        "type": "string"
                    },
                    {
                        "name": "parents",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                ],
                "description": "Create a new UserGroup.",
                "summary": "Create a new UserGroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            }
        },
        "/tron/api/v1/usergroups/{uuid}": {
            "get": {
                "operationId": "usergroups_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific usergroup by UUID.",
                "summary": "Get a specific usergroup by UUID.",
                "tags": [
                    "usergroups"
                ]
            },
            "put": {
                "operationId": "usergroups_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": true,
                        "in": "formData",
                        "description": "Group name",
                        "type": "string"
                    },
                    {
                        "name": "parents",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                ],
                "description": "Replace the UserGroup with this UUID.",
                "summary": "Replace the UserGroup with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            },
            "patch": {
                "operationId": "usergroups_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "description",
                        "type": "string"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "name",
                        "required": false,
                        "in": "formData",
                        "description": "Group name",
                        "type": "string"
                    },
                    {
                        "name": "parents",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                ],
                "description": "Update some values for the UserGroup with this UUID.",
                "summary": "Update some values for the UserGroup with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            },
            "delete": {
                "operationId": "usergroups_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Delete a UserGroup.\n\nRemoving/Deleting a UserGroup removes the UserGroup and updates\nrecursively the parent/children UserGroup reference to it. If UserGroup\nhas users associated with it, the users usergroups will be updated and\nthe deleted usergroup will be removed.",
                "summary": "Delete a UserGroup.",
                "tags": [
                    "usergroups"
                ]
            }
        },
        "/tron/api/v1/usergroups/{uuid}/add_parents": {
            "post": {
                "operationId": "usergroups_add_parents",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "parents",
                        "required": true,
                        "in": "formData",
                        "description": "list of user group uuids",
                        "type": "string"
                    }
                ],
                "description": "Add parent groups to this usergroup.",
                "summary": "Add parent groups to this usergroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            }
        },
        "/tron/api/v1/usergroups/{uuid}/add_roles": {
            "post": {
                "operationId": "usergroups_add_roles",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "roles",
                        "required": true,
                        "in": "formData",
                        "description": "list of role uuids",
                        "type": "string"
                    }
                ],
                "description": "Add roles to this usergroup.",
                "summary": "Add roles to this usergroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            }
        },
        "/tron/api/v1/usergroups/{uuid}/add_users": {
            "post": {
                "operationId": "usergroups_add_users",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "users",
                        "required": true,
                        "in": "formData",
                        "description": "list of user uuids",
                        "type": "string"
                    }
                ],
                "description": "Add users to this usergroup.",
                "summary": "Add users to this usergroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            }
        },
        "/tron/api/v1/usergroups/{uuid}/remove_parents": {
            "post": {
                "operationId": "usergroups_remove_parents",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "parents",
                        "required": true,
                        "in": "formData",
                        "description": "list of user group uuids",
                        "type": "string"
                    }
                ],
                "description": "Remove parent groups from this usergroup.",
                "summary": "Remove parent groups from this usergroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            }
        },
        "/tron/api/v1/usergroups/{uuid}/remove_roles": {
            "post": {
                "operationId": "usergroups_remove_roles",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "roles",
                        "required": true,
                        "in": "formData",
                        "description": "list of role uuids",
                        "type": "string"
                    }
                ],
                "description": "Remove roles from this usergroup.",
                "summary": "Remove roles from this usergroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            }
        },
        "/tron/api/v1/usergroups/{uuid}/remove_users": {
            "post": {
                "operationId": "usergroups_remove_users",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/UserGroupSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "users",
                        "required": true,
                        "in": "formData",
                        "description": "list of user uuids",
                        "type": "string"
                    }
                ],
                "description": "Remove users from this usergroup.",
                "summary": "Remove users from this usergroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "usergroups"
                ]
            }
        },
        "/tron/api/v1/users": {
            "get": {
                "operationId": "users_list",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "role",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "usergroup",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "current_logged_in",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "current_with_concurrent_session_count_greater",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_active",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_internal",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_locked",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_staff",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_dormant",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_expired",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "email",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "email__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "email__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "first_name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "first_name__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "first_name__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "last_name",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "last_name__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "last_name__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "username",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "username__startswith",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "username__contains",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "search",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "ordering",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "page",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "limit",
                        "required": false,
                        "in": "query",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "List of users.\n\nCustom Filter current_logged_in can be used to get currently logged in users,\nGET api/v1/users?current_logged_in=True",
                "summary": "List of users.",
                "tags": [
                    "users"
                ]
            },
            "post": {
                "operationId": "users_create",
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/UserSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    }
                },
                "parameters": [
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "first_name",
                        "required": true,
                        "in": "formData",
                        "description": "user's first name",
                        "type": "string"
                    },
                    {
                        "name": "last_name",
                        "required": true,
                        "in": "formData",
                        "description": "user's last name",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "user's description",
                        "type": "string"
                    },
                    {
                        "name": "email",
                        "required": false,
                        "in": "formData",
                        "description": "user's email address",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "tenant UUID of user, if not provided \"master\" tenant is used",
                        "type": "string"
                    },
                    {
                        "name": "accessible_tenants",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "roles",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "password",
                        "required": false,
                        "in": "formData",
                        "description": "user's password",
                        "type": "string"
                    },
                    {
                        "name": "password_change_required",
                        "required": false,
                        "in": "formData",
                        "description": "Password change required",
                        "type": "boolean"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "is_verbose_logging",
                        "required": false,
                        "in": "formData",
                        "description": "User permission for generating audit logs",
                        "type": "boolean"
                    },
                    {
                        "name": "username",
                        "required": true,
                        "in": "formData",
                        "description": "Required. 100 characters or fewer. Letters, numbers and @/./+/-/_ characters",
                        "type": "string"
                    },
                    {
                        "name": "is_active",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
                        "type": "boolean"
                    },
                    {
                        "name": "is_locked",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this user is locked from failed login attempts",
                        "type": "boolean"
                    },
                    {
                        "name": "unlock_time",
                        "required": false,
                        "in": "formData",
                        "description": "Time when this user was locked.",
                        "type": "string"
                    },
                    {
                        "name": "init_dormancy_time",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_internal",
                        "required": false,
                        "in": "formData",
                        "description": "Internal User",
                        "type": "boolean"
                    },
                    {
                        "name": "directory",
                        "required": false,
                        "in": "formData",
                        "description": "Indicates which directory user is from, e.g. ldap",
                        "type": "string"
                    },
                    {
                        "name": "last_login_detail_uuid",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "failed_login_attempts",
                        "required": false,
                        "in": "formData",
                        "description": "Failed login attempts since last successful attempt",
                        "type": "integer"
                    },
                    {
                        "name": "password_expiration_days",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before an password for the account expires.",
                        "type": "integer"
                    }
                ],
                "description": "Create a new user.",
                "summary": "Create a new user.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}": {
            "get": {
                "operationId": "users_read",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Get a specific user by UUID.",
                "summary": "Get a specific user by UUID.",
                "tags": [
                    "users"
                ]
            },
            "put": {
                "operationId": "users_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "first_name",
                        "required": true,
                        "in": "formData",
                        "description": "user's first name",
                        "type": "string"
                    },
                    {
                        "name": "last_name",
                        "required": true,
                        "in": "formData",
                        "description": "user's last name",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "user's description",
                        "type": "string"
                    },
                    {
                        "name": "email",
                        "required": false,
                        "in": "formData",
                        "description": "user's email address",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "tenant UUID of user, if not provided \"master\" tenant is used",
                        "type": "string"
                    },
                    {
                        "name": "accessible_tenants",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "roles",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "password",
                        "required": false,
                        "in": "formData",
                        "description": "user's password",
                        "type": "string"
                    },
                    {
                        "name": "password_change_required",
                        "required": false,
                        "in": "formData",
                        "description": "Password change required",
                        "type": "boolean"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "is_verbose_logging",
                        "required": false,
                        "in": "formData",
                        "description": "User permission for generating audit logs",
                        "type": "boolean"
                    },
                    {
                        "name": "username",
                        "required": true,
                        "in": "formData",
                        "description": "Required. 100 characters or fewer. Letters, numbers and @/./+/-/_ characters",
                        "type": "string"
                    },
                    {
                        "name": "is_active",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
                        "type": "boolean"
                    },
                    {
                        "name": "is_locked",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this user is locked from failed login attempts",
                        "type": "boolean"
                    },
                    {
                        "name": "unlock_time",
                        "required": false,
                        "in": "formData",
                        "description": "Time when this user was locked.",
                        "type": "string"
                    },
                    {
                        "name": "init_dormancy_time",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_internal",
                        "required": false,
                        "in": "formData",
                        "description": "Internal User",
                        "type": "boolean"
                    },
                    {
                        "name": "directory",
                        "required": false,
                        "in": "formData",
                        "description": "Indicates which directory user is from, e.g. ldap",
                        "type": "string"
                    },
                    {
                        "name": "last_login_detail_uuid",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "failed_login_attempts",
                        "required": false,
                        "in": "formData",
                        "description": "Failed login attempts since last successful attempt",
                        "type": "integer"
                    },
                    {
                        "name": "password_expiration_days",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before an password for the account expires.",
                        "type": "integer"
                    }
                ],
                "description": "Replace the user with this UUID.",
                "summary": "Replace the user with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            },
            "patch": {
                "operationId": "users_partial_update",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/UserSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "client_inactivity_time",
                        "required": false,
                        "in": "formData",
                        "description": "timeout in seconds of inactivity",
                        "type": "integer"
                    },
                    {
                        "name": "token_expiration_time",
                        "required": false,
                        "in": "formData",
                        "description": "token expires in timeout seconds from created time",
                        "type": "integer"
                    },
                    {
                        "name": "dormancy_days",
                        "required": false,
                        "in": "formData",
                        "description": "number of days before an account can become dormant",
                        "type": "integer"
                    },
                    {
                        "name": "first_name",
                        "required": false,
                        "in": "formData",
                        "description": "user's first name",
                        "type": "string"
                    },
                    {
                        "name": "last_name",
                        "required": false,
                        "in": "formData",
                        "description": "user's last name",
                        "type": "string"
                    },
                    {
                        "name": "description",
                        "required": false,
                        "in": "formData",
                        "description": "user's description",
                        "type": "string"
                    },
                    {
                        "name": "email",
                        "required": false,
                        "in": "formData",
                        "description": "user's email address",
                        "type": "string"
                    },
                    {
                        "name": "tenant",
                        "required": false,
                        "in": "formData",
                        "description": "tenant UUID of user, if not provided \"master\" tenant is used",
                        "type": "string"
                    },
                    {
                        "name": "accessible_tenants",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "roles",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "password",
                        "required": false,
                        "in": "formData",
                        "description": "user's password",
                        "type": "string"
                    },
                    {
                        "name": "password_change_required",
                        "required": false,
                        "in": "formData",
                        "description": "Password change required",
                        "type": "boolean"
                    },
                    {
                        "name": "concurrent_session_max",
                        "required": false,
                        "in": "formData",
                        "description": "The maximum number of concurrent sessions. (0=infinity)",
                        "type": "integer"
                    },
                    {
                        "name": "is_verbose_logging",
                        "required": false,
                        "in": "formData",
                        "description": "User permission for generating audit logs",
                        "type": "boolean"
                    },
                    {
                        "name": "username",
                        "required": false,
                        "in": "formData",
                        "description": "Required. 100 characters or fewer. Letters, numbers and @/./+/-/_ characters",
                        "type": "string"
                    },
                    {
                        "name": "is_active",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this user should be treated as active. Unselect this instead of deleting accounts.",
                        "type": "boolean"
                    },
                    {
                        "name": "is_locked",
                        "required": false,
                        "in": "formData",
                        "description": "Designates whether this user is locked from failed login attempts",
                        "type": "boolean"
                    },
                    {
                        "name": "unlock_time",
                        "required": false,
                        "in": "formData",
                        "description": "Time when this user was locked.",
                        "type": "string"
                    },
                    {
                        "name": "init_dormancy_time",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "is_internal",
                        "required": false,
                        "in": "formData",
                        "description": "Internal User",
                        "type": "boolean"
                    },
                    {
                        "name": "directory",
                        "required": false,
                        "in": "formData",
                        "description": "Indicates which directory user is from, e.g. ldap",
                        "type": "string"
                    },
                    {
                        "name": "last_login_detail_uuid",
                        "required": false,
                        "in": "formData",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "failed_login_attempts",
                        "required": false,
                        "in": "formData",
                        "description": "Failed login attempts since last successful attempt",
                        "type": "integer"
                    },
                    {
                        "name": "password_expiration_days",
                        "required": false,
                        "in": "formData",
                        "description": "Number of days before an password for the account expires.",
                        "type": "integer"
                    }
                ],
                "description": "Update some values for the user with this UUID.",
                "summary": "Update some values for the user with this UUID.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            },
            "delete": {
                "operationId": "users_delete",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Delete a user.",
                "summary": "Delete a user.",
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/add_accessible_tenants": {
            "post": {
                "operationId": "users_add_accessible_tenants",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "accessible_tenants",
                        "required": true,
                        "in": "formData",
                        "description": "list of tenant uuids",
                        "type": "string"
                    }
                ],
                "description": "Grant this user additional accessible tenants.",
                "summary": "Grant this user additional accessible tenants.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/add_roles": {
            "post": {
                "operationId": "users_add_roles",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "roles",
                        "required": true,
                        "in": "formData",
                        "description": "list of role uuids",
                        "type": "string"
                    }
                ],
                "description": "Grant this user additional roles.",
                "summary": "Grant this user additional roles.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/add_usergroups": {
            "post": {
                "operationId": "users_add_usergroups",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "usergroups",
                        "required": true,
                        "in": "formData",
                        "description": "list of group uuids",
                        "type": "string"
                    }
                ],
                "description": "Add this user to a UserGroup.",
                "summary": "Add this user to a UserGroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/context_accessible_tenants": {
            "get": {
                "operationId": "users_context_accessible_tenants",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/TenantSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    }
                ],
                "description": "Return a list of all active subtenants of current tenant.",
                "summary": "Return a list of all active subtenants of current tenant.",
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/remove_accessible_tenants": {
            "post": {
                "operationId": "users_remove_accessible_tenants",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "accessible_tenants",
                        "required": true,
                        "in": "formData",
                        "description": "list of tenant uuids",
                        "type": "string"
                    }
                ],
                "description": "Remove accessible tenants from this user.",
                "summary": "Remove accessible tenants from this user.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/remove_roles": {
            "post": {
                "operationId": "users_remove_roles",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "roles",
                        "required": true,
                        "in": "formData",
                        "description": "list of role uuids",
                        "type": "string"
                    }
                ],
                "description": "Remove roles from this user.",
                "summary": "Remove roles from this user.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/remove_usergroups": {
            "post": {
                "operationId": "users_remove_usergroups",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "usergroups",
                        "required": true,
                        "in": "formData",
                        "description": "list of group uuids",
                        "type": "string"
                    }
                ],
                "description": "Remove this user from a UserGroup.",
                "summary": "Remove this user from a UserGroup.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/reset_password": {
            "post": {
                "operationId": "users_reset_password",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "currentPassword",
                        "required": false,
                        "in": "formData",
                        "description": "Not required for reset_password,required for set_password if user's password is set at least once",
                        "type": "string"
                    },
                    {
                        "name": "newPassword",
                        "required": true,
                        "in": "formData",
                        "description": "user's new password",
                        "type": "string"
                    },
                    {
                        "name": "newPasswordConfirm",
                        "required": true,
                        "in": "formData",
                        "description": "Should match newPassword",
                        "type": "string"
                    },
                    {
                        "name": "force",
                        "required": false,
                        "in": "formData",
                        "description": "Allow admin to skip password checks",
                        "type": "boolean"
                    }
                ],
                "description": "\"Set the given users password (ADMIN).\n\nDoes *NOT* require the current password",
                "summary": "\"Set the given users password (ADMIN).",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/tron/api/v1/users/{uuid}/set_password": {
            "post": {
                "operationId": "users_set_password",
                "responses": {
                    "200": {
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/BaseResponseSerializer"
                        }
                    },
                    "400": {
                        "description": "Bad Request"
                    },
                    "401": {
                        "description": "Authentication credentials were not provided"
                    },
                    "403": {
                        "description": "Forbidden"
                    },
                    "404": {
                        "description": "Not Found"
                    }
                },
                "parameters": [
                    {
                        "name": "uuid",
                        "required": true,
                        "in": "path",
                        "description": "",
                        "type": "string"
                    },
                    {
                        "name": "currentPassword",
                        "required": false,
                        "in": "formData",
                        "description": "Not required for reset_password,required for set_password if user's password is set at least once",
                        "type": "string"
                    },
                    {
                        "name": "newPassword",
                        "required": true,
                        "in": "formData",
                        "description": "user's new password",
                        "type": "string"
                    },
                    {
                        "name": "newPasswordConfirm",
                        "required": true,
                        "in": "formData",
                        "description": "Should match newPassword",
                        "type": "string"
                    }
                ],
                "description": "Set the given users password.\n\nRequires the current password",
                "summary": "Set the given users password.",
                "consumes": [
                    "application/x-www-form-urlencoded"
                ],
                "tags": [
                    "users"
                ]
            }
        },
        "/viability/api/v1/Cache/Recompute": {
            "post": {
                "tags": [
                    "Cache"
                ],
                "summary": "Recomputes the viability cache",
                "parameters": [
                    {
                        "in": "query",
                        "name": "deleteOnly",
                        "type": "boolean"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Bad Request"
                    }
                }
            }
        },
        "/viability/api/v1/ViableRoutes/InsertViabilityData": {},
        "/viability/api/v1/ViableRoutes/ViabilityData": {
            "post": {
                "tags": [
                    "ViableRoutes"
                ],
                "summary": "Inserts the VP info received from oneplanner into the database.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/VerificationPathList"
                        }
                    }
                ],
                "responses": {
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "ViableRoutes"
                ],
                "summary": "Gets the VP info from the database.",
                "description": "If no freIds are given in the request, then all the verification paths are returned from the database.\r\nIf the freids are given in the request, then those verification paths are returned which contain the freIds given in the request.",
                "produces": [
                    "application/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "freIds",
                        "description": "(Optional) List of comma-separated freIds",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success",
                        "schema": {
                            "$ref": "#/definitions/VerificationPathList"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "ViableRoutes"
                ],
                "summary": "Inserts or updates the VP info received from the user into the database.",
                "consumes": [
                    "application/json-patch+json",
                    "application/json",
                    "text/json",
                    "application/*+json"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "body",
                        "name": "body",
                        "description": "",
                        "schema": {
                            "$ref": "#/definitions/VerificationPathDetail"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/viability/api/v1/ViableRoutes/ViabilityData/file": {
            "post": {
                "tags": [
                    "ViableRoutes"
                ],
                "summary": "Inserts the Verification Paths received from a gzip (.gz), zip (.zip), JSON (.json) or OnePlanner (.onep) file.",
                "description": "All existing Verification Paths in the database are removed prior to inserting the provided set.\r\n\r\n\r\nNOTE: This API uploads data from a file and does not display or work correctly in MCP REST API Documentation.\r\nPlease use an API testing tool that supports form-data file upload to use this API.",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "ContentType",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "ContentDisposition",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "Headers",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "Length",
                        "type": "integer",
                        "format": "int64"
                    },
                    {
                        "in": "formData",
                        "name": "Name",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "FileName",
                        "type": "string"
                    }
                ],
                "responses": {
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            },
            "get": {
                "tags": [
                    "ViableRoutes"
                ],
                "summary": "Gets the VP info from the database as a compressed file, either zip or gzip format",
                "description": "If no freIds are given in the request, then all the verification paths are returned from the database.\r\nIf the freids are given in the request, then those verification paths are returned which contain the freIds given in the request.",
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "query",
                        "name": "freIds",
                        "description": "(Optional) List of comma-separated freIds",
                        "type": "string"
                    },
                    {
                        "in": "query",
                        "name": "fileType",
                        "description": "File type, allowed values are gzip or zip. If not set then this will return zip file",
                        "type": "string"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success"
                    },
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/viability/api/v2/ViableRoutes/ViabilityData/file": {
            "post": {
                "tags": [
                    "ViableRoutesV2"
                ],
                "summary": "Inserts the Verification Paths received from a gzip (.gz), zip (.zip), JSON (.json) or OnePlanner (.onep) file.",
                "description": "Verification Paths in the database that overlap any portion of the provided set are removed prior to inserting the provided set.\r\nVerification Paths that do not overlap any portion of the provided set are left in the database. \r\n\r\n\r\nNOTE: This API uploads data from a file and does not display or work correctly in MCP REST API Documentation.\r\nPlease use an API testing tool that supports form-data file upload to use this API.",
                "consumes": [
                    "multipart/form-data"
                ],
                "produces": [
                    "text/plain",
                    "application/json",
                    "text/json"
                ],
                "parameters": [
                    {
                        "in": "formData",
                        "name": "ContentType",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "ContentDisposition",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "Headers",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "Length",
                        "type": "integer",
                        "format": "int64"
                    },
                    {
                        "in": "formData",
                        "name": "Name",
                        "type": "string"
                    },
                    {
                        "in": "formData",
                        "name": "FileName",
                        "type": "string"
                    }
                ],
                "responses": {
                    "500": {
                        "description": "Server Error",
                        "schema": {
                            "$ref": "#/definitions/Error"
                        }
                    }
                }
            }
        },
        "/watcher/api/v1/config": {
            "get": {
                "description": "This return current AppConfig .",
                "operationId": "readConfig",
                "responses": {
                    "200": {
                        "description": "AppConfig",
                        "schema": {
                            "$ref": "#/definitions/AppConfig"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Retrieve App configuration.",
                "tags": [
                    "Admin"
                ]
            },
            "put": {
                "description": "Will update AppConfig.",
                "operationId": "updateConfig",
                "parameters": [
                    {
                        "in": "body",
                        "name": "Body",
                        "schema": {
                            "$ref": "#/definitions/BaseAppConfig"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "AppConfig",
                        "schema": {
                            "$ref": "#/definitions/AppConfig"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Update AppConfig.",
                "tags": [
                    "Admin"
                ]
            }
        },
        "/watcher/api/v1/import/onecontrol": {
            "post": {
                "description": "Import watchers.",
                "operationId": "importOneC",
                "parameters": [
                    {
                        "in": "body",
                        "name": "Body",
                        "schema": {
                            "$ref": "#/definitions/OneCImporter"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OneCImporterResult",
                        "schema": {
                            "$ref": "#/definitions/OneCImporterResult"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Import watchers in CSV file from  OneControl.",
                "tags": [
                    "Admin"
                ]
            }
        },
        "/watcher/api/v1/logs": {
            "get": {
                "description": "Return the current logging level",
                "operationId": "readLogs",
                "responses": {
                    "200": {
                        "description": "Return current log level",
                        "schema": {
                            "$ref": "#/definitions/Logging"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Read logging configuration.",
                "tags": [
                    "Admin"
                ]
            },
            "put": {
                "description": "Will update logging configuration",
                "operationId": "changeLogs",
                "parameters": [
                    {
                        "in": "body",
                        "name": "Body",
                        "schema": {
                            "$ref": "#/definitions/Logging"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Delete204",
                        "schema": {
                            "$ref": "#/definitions/Delete204"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Update logging configuration.",
                "tags": [
                    "Admin"
                ]
            }
        },
        "/watcher/api/v1/meters/{uuid}": {
            "get": {
                "description": "Retrieve available meters for a particular resource from heroic",
                "operationId": "findMeters",
                "parameters": [
                    {
                        "in": "path",
                        "name": "uuid",
                        "required": true,
                        "type": "string",
                        "x-go-name": "Uuid"
                    },
                    {
                        "in": "query",
                        "name": "force",
                        "type": "boolean",
                        "x-go-name": "Force"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "RsAttr",
                        "schema": {
                            "items": {
                                "$ref": "#/definitions/RsAttr"
                            },
                            "type": "array"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Retrieve available meters for a particular resource",
                "tags": [
                    "Admin"
                ]
            }
        },
        "/watcher/api/v1/resource-attrs": {
            "get": {
                "description": "Retrieve all possible attributes of a resource.",
                "operationId": "getResourceAttrs",
                "parameters": [
                    {
                        "in": "query",
                        "name": "uuid",
                        "type": "string",
                        "x-go-name": "Uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "RsAttr",
                        "schema": {
                            "items": {
                                "$ref": "#/definitions/RsAttr"
                            },
                            "type": "array"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Retrieve all possible attributes of a resource.",
                "tags": [
                    "Admin"
                ]
            }
        },
        "/watcher/api/v1/sounds": {
            "get": {
                "description": "List all available sound files.",
                "operationId": "soundFilenames",
                "responses": {
                    "200": {
                        "description": "SoundPath",
                        "schema": {
                            "items": {
                                "$ref": "#/definitions/SoundPath"
                            },
                            "type": "array"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "List all sound file available in the server.",
                "tags": [
                    "Admin"
                ]
            }
        },
        "/watcher/api/v1/sounds/{filename}": {
            "get": {
                "description": "List all available sound files.",
                "operationId": "readSound",
                "parameters": [
                    {
                        "in": "path",
                        "name": "filename",
                        "required": true,
                        "type": "string",
                        "x-go-name": "Filename"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Empty",
                        "schema": {
                            "$ref": "#/definitions/Empty"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "List all sound file available in the server.",
                "tags": [
                    "Admin"
                ]
            }
        },
        "/watcher/api/v1/watchers": {
            "get": {
                "description": "This will read and return watchers from DB.",
                "operationId": "readWatchers",
                "parameters": [
                    {
                        "in": "query",
                        "items": {
                            "type": "string"
                        },
                        "name": "searchText",
                        "type": "array",
                        "x-go-name": "Search"
                    },
                    {
                        "in": "query",
                        "items": {
                            "type": "string"
                        },
                        "name": "sort",
                        "type": "array",
                        "x-go-name": "Sort"
                    },
                    {
                        "in": "query",
                        "items": {
                            "type": "string"
                        },
                        "name": "filter",
                        "type": "array",
                        "x-go-name": "Filter"
                    },
                    {
                        "in": "query",
                        "name": "paging",
                        "type": "string",
                        "x-go-name": "Paging"
                    },
                    {
                        "in": "query",
                        "items": {
                            "type": "string"
                        },
                        "name": "facets",
                        "type": "array",
                        "x-go-name": "Facets"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Watcher",
                        "schema": {
                            "items": {
                                "$ref": "#/definitions/Watcher"
                            },
                            "type": "array"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Retrieve all watchers.",
                "tags": [
                    "Watchers"
                ]
            },
            "post": {
                "description": "This will create a new Watcher.",
                "operationId": "createWatcher",
                "parameters": [
                    {
                        "in": "body",
                        "name": "Body",
                        "schema": {
                            "$ref": "#/definitions/WatcherCreate"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Watcher",
                        "schema": {
                            "$ref": "#/definitions/Watcher"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Create new Watcher.",
                "tags": [
                    "Watchers"
                ]
            }
        },
        "/watcher/api/v1/watchers/{uuid}": {
            "delete": {
                "description": "Delete Watcher.",
                "operationId": "deleteWatcher",
                "parameters": [
                    {
                        "in": "path",
                        "name": "uuid",
                        "required": true,
                        "type": "string",
                        "x-go-name": "Uuid"
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Delete204",
                        "schema": {
                            "$ref": "#/definitions/Delete204"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Delete Watcher.",
                "tags": [
                    "Watchers"
                ]
            },
            "get": {
                "description": "Retrieve single Watcher.",
                "operationId": "readWatcher",
                "parameters": [
                    {
                        "in": "path",
                        "name": "uuid",
                        "required": true,
                        "type": "string",
                        "x-go-name": "Uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Watcher",
                        "schema": {
                            "$ref": "#/definitions/Watcher"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Retrieve single Watcher.",
                "tags": [
                    "Watchers"
                ]
            },
            "put": {
                "description": "This will update  Watcher.",
                "operationId": "updateWatcher",
                "parameters": [
                    {
                        "in": "body",
                        "name": "Body",
                        "schema": {
                            "$ref": "#/definitions/WatcherUpdate"
                        }
                    },
                    {
                        "in": "path",
                        "name": "uuid",
                        "required": true,
                        "type": "string",
                        "x-go-name": "Uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "WatcherCreate",
                        "schema": {
                            "$ref": "#/definitions/WatcherCreate"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Update existing Watcher.",
                "tags": [
                    "Watchers"
                ]
            }
        },
        "/watcher/api/v1/watchers/{uuid}/triggers": {
            "get": {
                "description": "Retrieve Retrieve IDs of items which triggered the Watcher.",
                "operationId": "readWatcherTriggers",
                "parameters": [
                    {
                        "in": "path",
                        "name": "uuid",
                        "required": true,
                        "type": "string",
                        "x-go-name": "Uuid"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Watcher",
                        "schema": {
                            "$ref": "#/definitions/Watcher"
                        }
                    },
                    "500": {
                        "description": "InternalServerError",
                        "schema": {
                            "$ref": "#/definitions/InternalServerError"
                        }
                    }
                },
                "summary": "Retrieve IDs of items which triggered the Watcher.",
                "tags": [
                    "Watchers"
                ]
            }
        }
    },
    "definitions": {
        "AcknowledgeState": {
            "type": "object"
        },
        "ActiveAlarms": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ActiveAlarmsData"
                    }
                },
                "meta": {
                    "$ref": "#/definitions/FilteredAlarmsMeta"
                },
                "links": {
                    "$ref": "#/definitions/FilteredAlarmsLinks"
                }
            }
        },
        "ActiveAlarmsAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The alarm id"
                },
                "node-id": {
                    "type": "string",
                    "description": "The unique ID associated with the node/device provided by the RA"
                },
                "node-type": {
                    "type": "string",
                    "description": "The type of node/device, e.g. 6500"
                },
                "resource": {
                    "type": "string",
                    "description": "The location and equipment type"
                },
                "native-condition-type": {
                    "type": "string",
                    "description": "The native condition or alarm name"
                },
                "condition-severity": {
                    "type": "string",
                    "description": "The severity of the alarm",
                    "enum": [
                        "CRITICAL",
                        "MAJOR",
                        "MINOR",
                        "WARNING",
                        "INDETERMINATE",
                        "INFO",
                        "CONFIG",
                        "DEBUG"
                    ]
                },
                "service-affecting": {
                    "type": "string",
                    "description": "The service impact of the alarm",
                    "enum": [
                        "UNKNOWN",
                        "SERVICE_AFFECTING",
                        "NON_SERVICE_AFFECTING"
                    ]
                },
                "manual-clearable": {
                    "type": "boolean",
                    "description": "Whether or not the alarm can be cleared manually",
                    "default": false
                },
                "additional-text": {
                    "type": "string",
                    "description": "Additional information about the alarm"
                },
                "annotation": {
                    "type": "string",
                    "description": "Annotation information about the alarm"
                },
                "first-raise-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was first raised"
                },
                "last-raise-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was last raised"
                },
                "acknowledge-update-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarms acknowledge state last changed"
                },
                "acknowledge-update-user": {
                    "type": "string",
                    "description": "The user that last updated the acknowledge state the alarm"
                },
                "number-of-occurrences": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The number of times the alarm has occurred"
                },
                "acknowledge-state": {
                    "type": "string",
                    "description": "The acknowledge state of the alarm",
                    "enum": [
                        "NOT_ACKNOWLEDGED",
                        "ACKNOWLEDGED"
                    ]
                },
                "device-name": {
                    "type": "string",
                    "description": "Device's name."
                },
                "ip-address": {
                    "type": "string",
                    "description": "Device's IP address."
                },
                "mac-address": {
                    "type": "string",
                    "description": "Device's Mac address."
                },
                "device-attributes": {
                    "description": "Device specific attributes for the alarm",
                    "$ref": "#/definitions/Device_attributes"
                }
            }
        },
        "ActiveAlarmsData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the alarm"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "ActiveAlarm"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ActiveAlarmsAttributes"
                }
            }
        },
        "AdditionalText": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                },
                "count": {
                    "type": "integer",
                    "format": "int64"
                }
            }
        },
        "AdditionalTextsAggregation": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/AdditionalTextsAggregationData"
                }
            }
        },
        "AdditionalTextsAggregationAttributes": {
            "type": "object",
            "properties": {
                "additionalTexts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AdditionalText"
                    }
                }
            }
        },
        "AdditionalTextsAggregationData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "AdditionalTextsAggregation"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/AdditionalTextsAggregationAttributes"
                }
            }
        },
        "Additional_attrs": {
            "type": "object"
        },
        "AlarmQueryList": {
            "type": "object",
            "properties": {
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "Annotation": {
            "type": "object",
            "properties": {
                "annotation": {
                    "type": "string"
                }
            }
        },
        "DeviceAttributesAttributesRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The device session ID"
                },
                "deviceId": {
                    "type": "string",
                    "description": "The device ID"
                },
                "deviceName": {
                    "type": "string",
                    "description": "Device primary identifier. Will be shown below the alarm name"
                },
                "deviceLongName": {
                    "type": "string",
                    "description": "Device long identifier."
                },
                "deviceLocation": {
                    "type": "string",
                    "description": "Geo hash location of the device."
                },
                "ipAddress": {
                    "type": "string",
                    "description": "Device secondary identifier. Will be shown below the primary identifier in the expanded view."
                },
                "macAddress": {
                    "type": "string",
                    "description": "Device tertiary identifier. Will be shown below the secondary identifier in the expanded view."
                },
                "partition": {
                    "type": "array",
                    "description": "The partitions that the device belongs to.",
                    "items": {
                        "type": "string"
                    }
                },
                "tags": {
                    "type": "array",
                    "description": "The device tags that the device has.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "DeviceAttributesDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique device ID matching that provided from the device resource adapter in the alarm record"
                },
                "type": {
                    "type": "string",
                    "description": "Device attributes type",
                    "enum": [
                        "deviceAttributes"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/DeviceAttributesAttributesRO"
                }
            }
        },
        "DeviceAttributesRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/DeviceAttributesDataRO"
                }
            }
        },
        "DeviceId": {
            "type": "object"
        },
        "DeviceName": {
            "type": "object"
        },
        "DeviceNamesAggregation": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/DeviceNamesAggregationData"
                }
            }
        },
        "DeviceNamesAggregationAttributes": {
            "type": "object",
            "properties": {
                "deviceNames": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/DeviceName"
                    }
                }
            }
        },
        "DeviceNamesAggregationData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "DeviceNamesAggregation"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/DeviceNamesAggregationAttributes"
                }
            }
        },
        "DeviceType": {
            "type": "object"
        },
        "DeviceTypesRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ResourceObjectDeviceType"
                    }
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "included": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "$ref": "#/definitions/ResourceObjectObject"
                    }
                }
            }
        },
        "Device_attributes": {
            "type": "object"
        },
        "Device_attributes__": {
            "type": "object"
        },
        "Error": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "detail": {
                    "type": "string"
                },
                "source": {
                    "$ref": "#/definitions/ErrorSource"
                }
            }
        },
        "Errors": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Error"
                    }
                }
            }
        },
        "Filter": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "readOnly": true,
                    "enum": [
                        "EQUALS",
                        "CONTAINS",
                        "STARTSWITH",
                        "ENDSWITH"
                    ]
                },
                "key": {
                    "type": "string",
                    "readOnly": true
                },
                "value": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "FilterAttributes": {
            "type": "object",
            "properties": {
                "channel": {
                    "type": "string",
                    "description": "The channel on which to subscribe for notifications. E.g. via Kafka Comet"
                },
                "latestOffset": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The latest message offset for the associated channel. If the offset cannot be retrieved it will be set to -9999, in that case please use the latest offset"
                },
                "nodeType": {
                    "type": "array",
                    "description": "The type of node/device, e.g. CN6500, case insensitive exact match only",
                    "items": {
                        "type": "string"
                    }
                },
                "resource": {
                    "type": "array",
                    "description": "Regular expression for the location and equipment type. E.g. 40GMUX.* for all 40GMUX on any shelf and slot",
                    "items": {
                        "type": "string"
                    }
                },
                "nativeConditionType": {
                    "type": "array",
                    "description": "The native condition or alarm name, case insensitive exact match only",
                    "items": {
                        "type": "string"
                    }
                },
                "nativeConditionTypeExclusion": {
                    "type": "array",
                    "description": "The native condition or alarm name for exclusion, case insensitive substring match supported",
                    "items": {
                        "type": "string"
                    }
                },
                "severity": {
                    "type": "array",
                    "description": "The severity of the alarm, case insensitive exact match only. Allowable values: indeterminate, critical, major, minor, warning, config, info",
                    "items": {
                        "type": "string"
                    }
                },
                "serviceAffecting": {
                    "type": "array",
                    "description": "The service impact of the alarm, case insensitive exact match only. Allowable values: service_affecting, non_service_affecting, unknown",
                    "items": {
                        "type": "string"
                    }
                },
                "additionalText": {
                    "type": "array",
                    "description": "Additional information about the alarm, case insensitive substring match supported",
                    "items": {
                        "type": "string"
                    }
                },
                "additionalTextExclusion": {
                    "type": "array",
                    "description": "Additional information about the alarm for exclusion, case insensitive substring match supported",
                    "items": {
                        "type": "string"
                    }
                },
                "raiseTimeHour": {
                    "type": "array",
                    "description": "A GMT 24-hour range to allow notifications to pass through. E.g. 09-17 will pass all alarms with raise times between 9:00.000 AM and 4:59.999 PM GMT",
                    "items": {
                        "type": "string"
                    }
                },
                "maxOccurrences": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Pass through alarms with less than or equal to this number of occurrences. E.g. 100 would filter out any alarms with 101 or more occurrences"
                },
                "deviceName": {
                    "type": "array",
                    "description": "A device's name, case insensitive exact match only",
                    "items": {
                        "type": "string"
                    }
                },
                "deviceNameExclusion": {
                    "type": "array",
                    "description": "A device's name for exclusion, case insensitive substring match supported",
                    "items": {
                        "type": "string"
                    }
                },
                "ipAddress": {
                    "type": "array",
                    "description": "A device's IP address, exact match only",
                    "items": {
                        "type": "string"
                    }
                },
                "ipAddressExclusion": {
                    "type": "array",
                    "description": "A device's IP address for exclusion, exact match only",
                    "items": {
                        "type": "string"
                    }
                },
                "partition": {
                    "type": "array",
                    "description": "The partitions of the user who creates the filter",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "FilterData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the alarm filter"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "Filter"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/FilterAttributes"
                }
            }
        },
        "FilteredAlarm": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/AlarmData"
                }
            }
        },
        "FilteredAlarms": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FilteredAlarmsData"
                    }
                },
                "meta": {
                    "$ref": "#/definitions/FilteredAlarmsMeta"
                },
                "links": {
                    "$ref": "#/definitions/FilteredAlarmsLinks"
                }
            }
        },
        "FilteredAlarmsAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The alarm id"
                },
                "alarm-id": {
                    "type": "string",
                    "description": "The original alarm id of the historical alarm"
                },
                "node-id": {
                    "type": "string",
                    "description": "The unique ID associated with the node/device provided by the RA"
                },
                "ra-alarm-id": {
                    "type": "string",
                    "description": "The RA Alarm identifier"
                },
                "node-type": {
                    "type": "string",
                    "description": "The type of node/device, e.g. 6500"
                },
                "state": {
                    "type": "string",
                    "description": "The alarm state",
                    "enum": [
                        "ACTIVE",
                        "CLEARED",
                        "SUPERSEDED"
                    ]
                },
                "resource": {
                    "type": "string",
                    "description": "The location and equipment type"
                },
                "resource-id": {
                    "type": "string",
                    "description": "The a unique id of the resource sending the alarm"
                },
                "native-condition-type": {
                    "type": "string",
                    "description": "The native condition type of alarm"
                },
                "native-condition-type-qualifier": {
                    "type": "string",
                    "description": "The native condition type qualifier of alarm"
                },
                "condition-severity": {
                    "type": "string",
                    "description": "The severity of the alarm",
                    "enum": [
                        "CRITICAL",
                        "MAJOR",
                        "MINOR",
                        "WARNING",
                        "INDETERMINATE",
                        "INFO",
                        "CONFIG",
                        "DEBUG"
                    ]
                },
                "service-affecting": {
                    "type": "string",
                    "description": "The service impact of the alarm",
                    "enum": [
                        "UNKNOWN",
                        "SERVICE_AFFECTING",
                        "NON_SERVICE_AFFECTING"
                    ]
                },
                "native-state": {
                    "type": "string",
                    "description": "The native state"
                },
                "native-name": {
                    "type": "string",
                    "description": "The native name"
                },
                "native-description": {
                    "type": "string",
                    "description": "The native description"
                },
                "manual-clearable": {
                    "type": "boolean",
                    "description": "Whether or not the alarm can be cleared manually",
                    "default": false
                },
                "additional-text": {
                    "type": "string",
                    "description": "Additional information about the alarm"
                },
                "annotation": {
                    "type": "string",
                    "description": "Annotation information about the alarm"
                },
                "first-raise-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was first raised"
                },
                "last-raise-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was last raised"
                },
                "clear-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was cleared"
                },
                "supersede-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was superseded"
                },
                "acknowledge-update-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarms acknowledge state last changed"
                },
                "clear-user": {
                    "type": "string",
                    "description": "The user that cleared the alarm"
                },
                "acknowledge-update-user": {
                    "type": "string",
                    "description": "The user that last updated the acknowledge state the alarm"
                },
                "number-of-occurrences": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The number of times the alarm has occurred"
                },
                "acknowledge-state": {
                    "type": "string",
                    "description": "The acknowledge state of the alarm",
                    "enum": [
                        "NOT_ACKNOWLEDGED",
                        "ACKNOWLEDGED"
                    ]
                },
                "device-id": {
                    "type": "string",
                    "description": "Device's id."
                },
                "device-name": {
                    "type": "string",
                    "description": "Device's name."
                },
                "device-long-name": {
                    "type": "string",
                    "description": "Device's long name."
                },
                "ip-address": {
                    "type": "string",
                    "description": "Device's IP address."
                },
                "mac-address": {
                    "type": "string",
                    "description": "Device's Mac address."
                },
                "subnet-name": {
                    "type": "string",
                    "description": "Device's subnet name."
                },
                "card-type": {
                    "type": "string",
                    "description": "Card type."
                },
                "clfi": {
                    "type": "string",
                    "description": "Common language facility identifier."
                },
                "fic": {
                    "type": "string",
                    "description": "Frame identification code."
                },
                "partition": {
                    "type": "array",
                    "description": "The partitions that the device belongs to.",
                    "items": {
                        "type": "string"
                    }
                },
                "device-tags": {
                    "type": "array",
                    "description": "A list of tags for a given device.",
                    "items": {
                        "type": "string"
                    }
                },
                "device-attributes": {
                    "description": "Device specific attributes for the alarm",
                    "$ref": "#/definitions/Device_attributes"
                },
                "additional-attrs": {
                    "description": "Additional attributes for the alarm",
                    "$ref": "#/definitions/Additional_attrs"
                },
                "affected-inventory-ids": {
                    "type": "array",
                    "description": "Inventory IDs affected by alarms",
                    "items": {
                        "type": "string"
                    }
                },
                "sequence-id": {
                    "type": "string",
                    "description": "The alarm's sequence ID, the last-raise-time of that alarm instance in long."
                },
                "request-id": {
                    "type": "string",
                    "description": "The alarm's sequence ID, the last-raise-time of that alarm instance in long."
                },
                "is-event": {
                    "type": "boolean",
                    "description": "If alarm is an event",
                    "default": false
                },
                "is-clearable": {
                    "type": "boolean",
                    "description": "If alarm is clearable by device",
                    "default": false
                }
            }
        },
        "FilteredAlarmsData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the alarm"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "FilteredAlarm"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/FilteredAlarmsAttributes"
                }
            }
        },
        "FilteredAlarmsLinks": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/FilteredAlarmsLinksNext"
                }
            }
        },
        "FilteredAlarmsLinksMeta": {
            "type": "object",
            "properties": {
                "nextOffset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The offset for the next page of results"
                }
            }
        },
        "FilteredAlarmsLinksNext": {
            "type": "object",
            "properties": {
                "href": {
                    "type": "string",
                    "description": "The href for the next page of results"
                },
                "meta": {
                    "$ref": "#/definitions/FilteredAlarmsLinksMeta"
                }
            }
        },
        "FilteredAlarmsMeta": {
            "type": "object",
            "properties": {
                "context-total": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Total records matching the filters in the database"
                },
                "query-total": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Total records matching the filters in the database"
                },
                "context-aggregations": {
                    "$ref": "#/definitions/FilteredAlarmsMetaContextAggregations"
                },
                "query-aggregations": {
                    "$ref": "#/definitions/FilteredAlarmsMetaQueryAggregations"
                }
            }
        },
        "FilteredAlarmsMetaContextAggregations": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "array",
                    "description": "A map of state values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/State"
                    }
                },
                "severity": {
                    "type": "array",
                    "description": "A map of severity values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/Severity"
                    }
                },
                "serviceAffecting": {
                    "type": "array",
                    "description": "A map of service affecting values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/ServiceAffecting"
                    }
                },
                "deviceType": {
                    "type": "array",
                    "description": "A map of device type values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/DeviceType"
                    }
                },
                "acknowledgeState": {
                    "type": "array",
                    "description": "A map of acknowledge state values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/AcknowledgeState"
                    }
                },
                "deviceId": {
                    "type": "array",
                    "description": "A map of device id values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/DeviceId"
                    }
                },
                "deviceName": {
                    "type": "array",
                    "description": "A map of device name values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/DeviceName"
                    }
                },
                "ipAddress": {
                    "type": "array",
                    "description": "A map of IP address values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/IpAddress"
                    }
                },
                "macAddress": {
                    "type": "array",
                    "description": "A map of MAC address values and their counts associated with the context results",
                    "items": {
                        "$ref": "#/definitions/MacAddress"
                    }
                }
            }
        },
        "FilteredAlarmsMetaFacetCounts": {
            "type": "object",
            "properties": {
                "state": {
                    "description": "A map of state values and their counts associated with the filter results",
                    "$ref": "#/definitions/State"
                },
                "severity": {
                    "description": "A map of severity values and their counts associated with the filter results",
                    "$ref": "#/definitions/Severity"
                },
                "serviceAffecting": {
                    "description": "A map of service affecting values and their counts associated with the filter results",
                    "$ref": "#/definitions/ServiceAffecting"
                },
                "deviceType": {
                    "description": "A map of device type values and their counts associated with the filter results",
                    "$ref": "#/definitions/DeviceType"
                },
                "acknowledgeState": {
                    "description": "A map of acknowledge state values and their counts associated with the filter results",
                    "$ref": "#/definitions/AcknowledgeState"
                }
            }
        },
        "FilteredAlarmsMetaQueryAggregations": {
            "type": "object",
            "properties": {
                "state": {
                    "description": "A map of state values and their counts associated with the query results",
                    "$ref": "#/definitions/State"
                },
                "severity": {
                    "description": "A map of severity values and their counts associated with the query results",
                    "$ref": "#/definitions/Severity"
                },
                "serviceAffecting": {
                    "description": "A map of service affecting values and their counts associated with the query results",
                    "$ref": "#/definitions/ServiceAffecting"
                },
                "deviceType": {
                    "description": "A map of device type values and their counts associated with the query results",
                    "$ref": "#/definitions/DeviceType"
                },
                "acknowledgeState": {
                    "description": "A map of acknowledge state values and their counts associated with the query results",
                    "$ref": "#/definitions/AcknowledgeState"
                },
                "deviceId": {
                    "description": "A map of device id values and their counts associated with the query results",
                    "$ref": "#/definitions/DeviceId"
                },
                "deviceName": {
                    "description": "A map of device name values and their counts associated with the query results",
                    "$ref": "#/definitions/DeviceName"
                },
                "ipAddress": {
                    "description": "A map of ip address values and their counts associated with the query results",
                    "$ref": "#/definitions/IpAddress"
                },
                "macAddress": {
                    "description": "A map of mac address values and their counts associated with the query results",
                    "$ref": "#/definitions/MacAddress"
                }
            }
        },
        "FilteredAlarmsParams": {
            "type": "object",
            "properties": {
                "alarmId": {
                    "type": "array",
                    "description": "List of alarm id values.",
                    "items": {
                        "type": "string"
                    }
                },
                "state": {
                    "type": "array",
                    "description": "List of state values.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE, CLEARED, SUPERSEDED_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "contextState": {
                    "type": "array",
                    "description": "List of state values.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _ACTIVE, CLEARED, SUPERSEDED_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "severity": {
                    "type": "array",
                    "description": "List of severity values.<p>**Example**: _CRITICAL, MAJOR, MINOR, WARNING_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "serviceAffecting": {
                    "type": "array",
                    "description": "List of service affecting values.<p>**Example**: _SERVICE_AFFECTING, NON_SERVICE_AFFECTING_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "deviceType": {
                    "type": "array",
                    "description": "List of device type values.<p>**Example**: _6500, OPENSTACK, NUAGE_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "acknowledgeState": {
                    "type": "array",
                    "description": "List of acknowledgment state values.<p>**Example**: _ACKNOWLEDGED, NOT_ACKNOWLEDGED_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "deviceId": {
                    "type": "array",
                    "description": "List of device id values.",
                    "items": {
                        "type": "string"
                    }
                },
                "deviceName": {
                    "type": "array",
                    "description": "List of device name values.",
                    "items": {
                        "type": "string"
                    }
                },
                "ipAddress": {
                    "type": "array",
                    "description": "List of IP address values.<p>**Example**: _192.168.42.2, 192.168.42.3_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "macAddress": {
                    "type": "array",
                    "description": "List of MAC address values.<p>**Example**: _00-04-DC-01-02-03, 00-04-DC-01-02-04_",
                    "items": {
                        "type": "string"
                    }
                },
                "deviceTag": {
                    "type": "array",
                    "description": "List of device tag values.",
                    "items": {
                        "type": "string"
                    }
                },
                "additionalText": {
                    "type": "array",
                    "description": "List of additional text values.",
                    "items": {
                        "type": "string"
                    }
                },
                "annotation": {
                    "type": "array",
                    "description": "List of annotation text values.",
                    "items": {
                        "type": "string"
                    }
                },
                "nativeConditionType": {
                    "type": "array",
                    "description": "List of native condition type values.",
                    "items": {
                        "type": "string"
                    }
                },
                "resource": {
                    "type": "array",
                    "description": "List of resource values.",
                    "items": {
                        "type": "string"
                    }
                },
                "resourceId": {
                    "type": "array",
                    "description": "List of resource ID values.",
                    "items": {
                        "type": "string"
                    }
                },
                "subnetName": {
                    "type": "array",
                    "description": "List of case sensitive subnet name values.",
                    "items": {
                        "type": "string"
                    }
                },
                "cardType": {
                    "type": "array",
                    "description": "List of card type values.<p>**Example**: _SP-2_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "clfi": {
                    "type": "array",
                    "description": "List of CLFI values.",
                    "items": {
                        "type": "string"
                    }
                },
                "fic": {
                    "type": "array",
                    "description": "List of FIC values.",
                    "items": {
                        "type": "string"
                    }
                },
                "partition": {
                    "type": "array",
                    "description": "List of partition values.<p>**Example**: _a08a7792-27a5-42d3-9169-2826d3d32b0c, 3541ccf8-03d2-3c0a-a7e5-3b88ca78df35_</p>",
                    "items": {
                        "type": "string"
                    }
                },
                "keytext": {
                    "type": "string",
                    "description": "Key text, minimum 3 characters, to be present in the support alarm fields.<p>Support fields include: _condition-severity, device-name, device-long-name, resource, acknowledge-state, native-condition-type, additional-text_, and _service-affecting_.</p><p>Several operators are available including '+' (AND), '|' (OR), '-' (negate).</p><p>Spaces are considered to be OR by default.</p><p>Results without this key text will not be shown in the results context aggregations meta.</p>"
                },
                "lastRaisedTime": {
                    "type": "string",
                    "description": "Comma separated last raised time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>"
                },
                "lastRaisedTimeFrom": {
                    "type": "string",
                    "description": "Last raised time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000_</p>"
                },
                "lastRaisedTimeTo": {
                    "type": "string",
                    "description": "Last raised time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _2999-12-31T23:59:59.999_</p>"
                },
                "clearTime": {
                    "type": "string",
                    "description": "Comma separated clear time range in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>"
                },
                "clearTimeFrom": {
                    "type": "string",
                    "description": "Last clear time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000_</p>"
                },
                "clearTimeTo": {
                    "type": "string",
                    "description": "Last clear time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _2999-12-31T23:59:59.999_</p>"
                },
                "refinedRaisedTimeFrom": {
                    "type": "string",
                    "description": "Refined raised time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _1900-01-01T00:00:00.000_</p>"
                },
                "refinedRaisedTimeTo": {
                    "type": "string",
                    "description": "Refined raised time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _2999-12-31T23:59:59.999_</p>"
                },
                "refinedClearTimeFrom": {
                    "type": "string",
                    "description": "Refined cleared time to be searched after in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _1900-01-01T00:00:00.000_</p>"
                },
                "refinedClearTimeTo": {
                    "type": "string",
                    "description": "Refined cleared time to be searched before in format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>**Example**: _2999-12-31T23:59:59.999_</p>"
                },
                "allTime": {
                    "type": "string",
                    "description": "Comma separated time range to be searched in both active and historical alarms, in the format: _yyyy-MM-ddTHH:mm:ss.SSS_.<p>Results outside of this range will not be shown in the context aggregations meta.</p><p>**Example**: _1900-01-01T00:00:00.000,2999-12-31T23:59:59.999_</p>"
                },
                "offset": {
                    "type": "string",
                    "description": "Offset for the next page of results.<p>**Example**: _50_"
                },
                "pageSize": {
                    "type": "string",
                    "description": "Limit of the number of alarms present in a page."
                },
                "sort": {
                    "type": "array",
                    "description": "List of alarm attributes that the response will be sorted on such as _raiseTime_, either in ascending (ASC) or descending (DESC) order.<p>**Example**: _last-raise-time:DESC_</p><p>The JSON API standard is also accepted: _-last-raise-time_</p>",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "Filters": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FilterData"
                    }
                }
            }
        },
        "HistoricalAlarms": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HistoricalAlarmsData"
                    }
                },
                "meta": {
                    "$ref": "#/definitions/FilteredAlarmsMeta"
                },
                "links": {
                    "$ref": "#/definitions/FilteredAlarmsLinks"
                }
            }
        },
        "HistoricalAlarmsAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The alarm id"
                },
                "node-id": {
                    "type": "string",
                    "description": "The unique ID associated with the node/device provided by the RA"
                },
                "node-type": {
                    "type": "string",
                    "description": "The type of node/device, e.g. 6500"
                },
                "resource": {
                    "type": "string",
                    "description": "The location and equipment type"
                },
                "native-condition-type": {
                    "type": "string",
                    "description": "The native condition or alarm name"
                },
                "condition-severity": {
                    "type": "string",
                    "description": "The severity of the alarm",
                    "enum": [
                        "CRITICAL",
                        "MAJOR",
                        "MINOR",
                        "WARNING",
                        "INDETERMINATE",
                        "INFO",
                        "CONFIG",
                        "DEBUG"
                    ]
                },
                "service-affecting": {
                    "type": "string",
                    "description": "The service impact of the alarm",
                    "enum": [
                        "UNKNOWN",
                        "SERVICE_AFFECTING",
                        "NON_SERVICE_AFFECTING"
                    ]
                },
                "additional-text": {
                    "type": "string",
                    "description": "Additional information about the alarm"
                },
                "first-raise-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was first raised"
                },
                "last-raise-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was last raised"
                },
                "clear-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarm was cleared"
                },
                "acknowledge-update-time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date and time that the alarms acknowledge state last changed"
                },
                "clear-user": {
                    "type": "string",
                    "description": "The user that cleared the alarm"
                },
                "acknowledge-update-user": {
                    "type": "string",
                    "description": "The user that last updated the acknowledge state the alarm"
                },
                "number-of-occurrences": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The number of times the alarm had occurred at the time it was cleared"
                },
                "device-name": {
                    "type": "string",
                    "description": "Device's name."
                },
                "ip-address": {
                    "type": "string",
                    "description": "Device's IP address."
                },
                "mac-address": {
                    "type": "string",
                    "description": "Device's Mac address."
                },
                "device-attributes": {
                    "description": "Device specific attributes for the alarm",
                    "$ref": "#/definitions/Device_attributes__"
                }
            }
        },
        "HistoricalAlarmsData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the alarm"
                },
                "type": {
                    "type": "string",
                    "description": "The Network Construct Enrollment Task resource type",
                    "enum": [
                        "HistoricalAlarm"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/HistoricalAlarmsAttributes"
                }
            }
        },
        "IpAddress": {
            "type": "object"
        },
        "IpAddressesAggregation": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/IpAddressesAggregationData"
                }
            }
        },
        "IpAddressesAggregationAttributes": {
            "type": "object",
            "properties": {
                "ipAddresses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IpAddress"
                    }
                }
            }
        },
        "IpAddressesAggregationData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "IpAddressesAggregation"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/IpAddressesAggregationAttributes"
                }
            }
        },
        "LinksObject": {
            "type": "object"
        },
        "MacAddress": {
            "type": "object"
        },
        "MacAddressesAggregation": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/MacAddressesAggregationData"
                }
            }
        },
        "MacAddressesAggregationAttributes": {
            "type": "object",
            "properties": {
                "macAddresses": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MacAddress"
                    }
                }
            }
        },
        "MacAddressesAggregationData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "MacAddressesAggregation"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/MacAddressesAggregationAttributes"
                }
            }
        },
        "NativeConditionType": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                },
                "count": {
                    "type": "integer",
                    "format": "int64"
                }
            }
        },
        "NativeConditionTypesAggregation": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/NativeConditionTypesAggregationData"
                }
            }
        },
        "NativeConditionTypesAggregationAttributes": {
            "type": "object",
            "properties": {
                "nativeConditionTypes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NativeConditionType"
                    }
                }
            }
        },
        "NativeConditionTypesAggregationData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "NativeConditionTypesAggregation"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/NativeConditionTypesAggregationAttributes"
                }
            }
        },
        "NodeAlarmStateRO": {
            "type": "object",
            "properties": {
                "nodeId": {
                    "type": "string"
                },
                "syncState": {
                    "type": "string",
                    "enum": [
                        "DELETED",
                        "SYNC_TRIGGERED",
                        "SYNCHRONIZING",
                        "SYNCHRONIZED",
                        "SYNC_FAILED",
                        "SYNC_PENDING",
                        "DELETE_FAILED"
                    ]
                },
                "lastUpdated": {
                    "type": "string",
                    "format": "date-time"
                },
                "syncFailedReason": {
                    "type": "string",
                    "enum": [
                        "RA",
                        "TRIGGER",
                        "SYNC",
                        "ALARM"
                    ]
                },
                "lastSynced": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "RelationshipsObjectObject": {
            "type": "object"
        },
        "Resource": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier for the resource (optional/ignored on calls to create)"
                },
                "label": {
                    "type": "string",
                    "description": "Textual label"
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description of this resource"
                },
                "resourceTypeId": {
                    "type": "string",
                    "description": "The type of this resource"
                },
                "productId": {
                    "type": "string",
                    "description": "The type of product for this resource"
                },
                "domainId": {
                    "type": "string",
                    "description": "The domain for this resource"
                },
                "orderId": {
                    "type": "string",
                    "description": "If applicable, the order containing this resource"
                },
                "tenantId": {
                    "type": "string",
                    "description": "Owner tenant of the resource?"
                },
                "shared": {
                    "type": "boolean",
                    "description": "Is resource shared?"
                },
                "sharingPermissionId": {
                    "type": "string",
                    "description": "The sharing permission associated with the resource"
                },
                "subDomainId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Identifier of the resource's sub-domain"
                },
                "properties": {
                    "description": "Properties",
                    "$ref": "#/definitions/JObject"
                },
                "providerResourceId": {
                    "type": "string",
                    "description": "Identifier of the resource in provider's context"
                },
                "discovered": {
                    "type": "boolean",
                    "description": "Is this resource discovered"
                },
                "differences": {
                    "type": "array",
                    "description": "Differences represent the difference between desired and observed state",
                    "items": {
                        "$ref": "#/definitions/Operation"
                    }
                },
                "desiredOrchState": {
                    "type": "string",
                    "description": "Desired orchestration state",
                    "enum": [
                        "active",
                        "assembled",
                        "requested",
                        "scheduled",
                        "terminated",
                        "unspecified"
                    ]
                },
                "nativeState": {
                    "type": "string",
                    "description": "Native (type specific) state"
                },
                "orchState": {
                    "type": "string",
                    "description": "Current state of the resource in the orchestrator",
                    "enum": [
                        "unknown",
                        "unspecified",
                        "requested",
                        "scheduled",
                        "promoting",
                        "assembling",
                        "assembled",
                        "activating",
                        "failed",
                        "active",
                        "inactive",
                        "terminating",
                        "terminated"
                    ]
                },
                "reason": {
                    "type": "string",
                    "description": "Reason for the orchestration state"
                },
                "tags": {
                    "type": "object",
                    "description": "Tags",
                    "additionalProperties": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "providerData": {
                    "description": "Provider custom data",
                    "$ref": "#/definitions/JObject"
                },
                "updatedAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of last update"
                },
                "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of creation"
                },
                "revision": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Strictly increasing revision number, incremented every update including observed update"
                },
                "autoClean": {
                    "type": "boolean",
                    "description": "Free up any resources automatically upon any activation failure"
                },
                "updateState": {
                    "type": "string",
                    "description": "Current state of updating the resource, or `unset`",
                    "enum": [
                        "unset",
                        "updating",
                        "successful",
                        "failed"
                    ]
                },
                "updateReason": {
                    "type": "string",
                    "description": "Reason for the update state"
                },
                "updateCount": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Monotonically increasing count of updates applied to this resource"
                }
            },
            "description": "Information describing a single resource"
        },
        "ResourceObjectDeviceType": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "relationships": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/RelationshipsObjectObject"
                    }
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "attributes": {
                    "$ref": "#/definitions/device-type"
                }
            }
        },
        "ResourceObjectObject": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "relationships": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/RelationshipsObjectObject"
                    }
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "attributes": {
                    "type": "object"
                }
            }
        },
        "ResourcesAggregation": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ResourcesAggregationData"
                }
            }
        },
        "ResourcesAggregationAttributes": {
            "type": "object",
            "properties": {
                "resources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Resource"
                    }
                }
            }
        },
        "ResourcesAggregationData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "ResourcesAggregation"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ResourcesAggregationAttributes"
                }
            }
        },
        "RetentionDaysRO": {
            "type": "object",
            "properties": {
                "retentionDays": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "ServiceAffecting": {
            "type": "object"
        },
        "Severity": {
            "type": "object"
        },
        "State": {
            "type": "object"
        },
        "SubnetName": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string"
                },
                "count": {
                    "type": "integer",
                    "format": "int64"
                }
            }
        },
        "SubnetNamesAggregation": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SubnetNamesAggregationData"
                }
            }
        },
        "SubnetNamesAggregationAttributes": {
            "type": "object",
            "properties": {
                "subnetNames": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SubnetName"
                    }
                }
            }
        },
        "SubnetNamesAggregationData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "SubnetNamesAggregation"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SubnetNamesAggregationAttributes"
                }
            }
        },
        "TotalAlarmRecordsCount": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/TotalAlarmRecordsCountData"
                }
            }
        },
        "TotalAlarmRecordsCountAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "totalRecords": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The total records count"
                }
            }
        },
        "TotalAlarmRecordsCountData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "alarmRecordsCount"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/TotalAlarmRecordsCountAttributes"
                }
            }
        },
        "device-type": {
            "type": "object",
            "required": [
                "id"
            ],
            "properties": {
                "id": {
                    "type": "string",
                    "description": "id of devicetype"
                },
                "value": {
                    "type": "string",
                    "description": "Name of the device"
                }
            }
        },
        "AffectingAlarmsParams": {
            "type": "object",
            "properties": {
                "inventoryId": {
                    "type": "array",
                    "description": "List of inventory id values.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ApiResponse": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "level": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "CurrentPermissions": {
            "type": "object",
            "properties": {
                "partitions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Partition"
                    }
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Permission"
                    }
                }
            }
        },
        "DeniedRbacResponse": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "GrantedRbacResponse": {
            "type": "object",
            "properties": {
                "Data": {
                    "type": "object",
                    "required": [
                        "tenant_name",
                        "tenant_context",
                        "user_roles"
                    ],
                    "properties": {
                        "session_id": {
                            "type": "string"
                        },
                        "tenant_context": {
                            "type": "string"
                        },
                        "tenant_context_id": {
                            "type": "string"
                        },
                        "tenant_id": {
                            "type": "string"
                        },
                        "tenant_name": {
                            "type": "string"
                        },
                        "user_id": {
                            "type": "string"
                        },
                        "user_name": {
                            "type": "string"
                        },
                        "user_roles": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    }
                },
                "message": {
                    "type": "string"
                },
                "permission": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "pattern": "^(AUTH|RBAC|RBAC_AUTH)$"
                },
                "version": {
                    "type": "string"
                }
            }
        },
        "LastLoginDetail": {
            "type": "object",
            "properties": {
                "ipAddress": {
                    "type": "string"
                },
                "sessionId": {
                    "type": "string"
                },
                "time": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "Partition": {
            "type": "object",
            "properties": {
                "partition": {
                    "type": "integer",
                    "format": "int32"
                },
                "logSize": {
                    "type": "integer",
                    "format": "int64"
                },
                "lastCommittedOffset": {
                    "type": "integer",
                    "format": "int64"
                },
                "isr": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "replicas": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "leader": {
                    "type": "string"
                }
            }
        },
        "Permission": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "RbacSession": {
            "type": "object",
            "properties": {
                "creationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "ipAddress": {
                    "type": "string"
                },
                "lastAccess": {
                    "type": "string",
                    "format": "date-time"
                },
                "sessionId": {
                    "type": "string"
                },
                "userId": {
                    "type": "string"
                },
                "userName": {
                    "type": "string"
                }
            }
        },
        "RestPermissionData": {
            "type": "object",
            "required": [
                "method",
                "path",
                "authType"
            ],
            "properties": {
                "Mac": {
                    "type": "string"
                },
                "authType": {
                    "type": "string",
                    "pattern": "^(AUTH|RBAC|RBAC_AUTH)$"
                },
                "method": {
                    "type": "string",
                    "pattern": "^(POST|GET|PUT|DELETE|PATCH|OPTIONS|HEAD|TRACE|CONNECT)$"
                },
                "path": {
                    "type": "string"
                },
                "token": {
                    "type": "string"
                }
            }
        },
        "Role": {
            "type": "object",
            "properties": {
                "application": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "uuid": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string"
                }
            }
        },
        "User": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string"
                },
                "email": {
                    "type": "string"
                },
                "firstName": {
                    "type": "string"
                },
                "isActive": {
                    "type": "boolean"
                },
                "lastLoginDetail": {
                    "$ref": "#/definitions/LastLoginDetail"
                },
                "lastName": {
                    "type": "string"
                },
                "tenant": {
                    "type": "string"
                },
                "tenantName": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "UserAccount": {
            "type": "object",
            "properties": {
                "lastAccessed": {
                    "type": "string",
                    "format": "date-time"
                },
                "retrievedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "token": {
                    "type": "string"
                },
                "tokenType": {
                    "type": "string"
                },
                "user": {
                    "$ref": "#/definitions/User"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "FlattenUserAccount": {
            "type": "object",
            "properties": {
                "username": {
                    "type": "string"
                },
                "allPartitions": {
                    "type": "boolean"
                },
                "roles": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Role"
                    }
                },
                "partitions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Partition"
                    }
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Permission"
                    }
                }
            }
        },
        "sessionInfo": {
            "type": "object",
            "properties": {
                "ciena-session-id": {
                    "type": "string"
                },
                "ciena-user-id": {
                    "type": "string"
                },
                "ciena-user-name": {
                    "type": "string"
                }
            }
        },
        "Function1RequestContextFutureRouteResult": {
            "type": "object"
        },
        "ListReply[AuthorizedKey]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/AuthorizedKey"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "RetrievedFile": {
            "type": "object",
            "properties": {
                "path": {
                    "type": "string",
                    "description": "Path specifying the location of the retrieved file"
                },
                "content": {
                    "type": "string",
                    "description": "Text content of the file"
                }
            },
            "description": "Container for a file retrieved from the Asset Manager"
        },
        "ListReply[Area]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/Area"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "AreaUpgrade": {
            "type": "object",
            "properties": {
                "requestId": {
                    "type": "string",
                    "description": "Request UUID"
                },
                "area": {
                    "type": "string",
                    "description": "Asset area name"
                },
                "sourceDir": {
                    "type": "string",
                    "description": "Source directory for the upgrade content"
                },
                "requestDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Timestamp that the upgrade request is received for processing"
                },
                "comment": {
                    "type": "string",
                    "description": "Comment or description for the upgrade"
                },
                "commitDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The commit timestamp (successful upgrades only)"
                },
                "previousSignature": {
                    "type": "string",
                    "description": "The repository version signature prior to upgrade"
                },
                "versionSignature": {
                    "type": "string",
                    "description": "The repository version signature for upgrade content"
                },
                "branch": {
                    "type": "string",
                    "description": "The branch from which the upgrade pull request is performed"
                },
                "tag": {
                    "type": "string",
                    "description": "The tag for the content submitted in the pull request"
                },
                "pullRequestId": {
                    "type": "string",
                    "description": "The identifier for the associated pull request"
                },
                "productionCommit": {
                    "type": "string",
                    "description": "The commit hash for the upgrade on the production branch"
                },
                "status": {
                    "type": "string",
                    "description": "The status of this upgrade request",
                    "enum": [
                        "pending",
                        "failed",
                        "successful"
                    ]
                },
                "reason": {
                    "type": "string",
                    "description": "Additional diagnostic information for an upgrade"
                },
                "details": {
                    "type": "array",
                    "description": "Additional details describing why an upgrade failed",
                    "items": {
                        "$ref": "#/definitions/RejectionDetails"
                    }
                }
            },
            "description": "An asset area's upgrade request or event"
        },
        "PullRequest": {
            "type": "object",
            "properties": {
                "requestId": {
                    "type": "string",
                    "description": "UUID for the PullRequest"
                },
                "email": {
                    "type": "string",
                    "description": "Email address"
                },
                "requestDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of the PullRequest"
                },
                "title": {
                    "type": "string",
                    "description": "Title"
                },
                "comment": {
                    "type": "string",
                    "description": "Comment"
                },
                "commitHash": {
                    "type": "string",
                    "description": "Git commit hash for the commit to pull"
                },
                "commitDate": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date of the Git commit to pull"
                },
                "status": {
                    "description": "Status of the PullRequest",
                    "$ref": "#/definitions/Value"
                },
                "reason": {
                    "type": "string",
                    "description": "Reason for the status of the PullRequest"
                },
                "details": {
                    "type": "array",
                    "description": "Additional details describing why the PullRequest was rejected",
                    "items": {
                        "$ref": "#/definitions/RejectionDetails"
                    }
                },
                "productionCommitHash": {
                    "type": "string",
                    "description": "The commit hash resulting from a successful pull request merged to the production branch"
                },
                "branch": {
                    "type": "string",
                    "description": "The submission branch for the pull request"
                }
            },
            "description": "Identification and information associated with a PullRequest"
        },
        "Function1": {
            "type": "object"
        },
        "Count": {
            "type": "object",
            "properties": {
                "count": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Count of items in scope"
                },
                "bounded": {
                    "type": "boolean",
                    "description": "Whether the count is bounded by the limit"
                }
            },
            "description": "Information describing count result"
        },
        "AreaInformationReplyExternal": {
            "type": "object",
            "properties": {
                "area": {
                    "type": "string",
                    "description": "Name of the area"
                },
                "uri": {
                    "type": "string",
                    "description": "Uri for the area"
                },
                "commitHash": {
                    "type": "string",
                    "description": "Latest commit hash for the area"
                },
                "versionSignature": {
                    "type": "string",
                    "description": "Signature of the last release version incorporated into this area"
                },
                "releaseSignature": {
                    "type": "string",
                    "description": "Signature for the latest available source content (i.e., installed release version - if different than the current versionSignature an upgrade is available)"
                },
                "upgradeAvailable": {
                    "type": "boolean",
                    "description": "Is an upgrade available from the current release? (requires versionSignature and releaseSignature fields)"
                }
            },
            "description": "Requested information fields for an Area"
        },
        "ListReply[PullRequest]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/PullRequest"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ListReply[AreaUpgrade]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/AreaUpgrade"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "Area": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Asset area name"
                },
                "externalGitUrl": {
                    "type": "string",
                    "description": "Git server URL for external use"
                },
                "internalGitUrl": {
                    "type": "string",
                    "description": "Git server URL for internal use"
                }
            },
            "description": "Information associated with a specific asset area (asset category)"
        },
        "PullRequestSubmission": {
            "type": "object",
            "properties": {
                "branch": {
                    "type": "string",
                    "description": "Branch or commit hash from which the pull request is to be made"
                },
                "title": {
                    "type": "string",
                    "description": "Title"
                },
                "comment": {
                    "type": "string",
                    "description": "Optional comment"
                }
            },
            "description": "Pull request submission"
        },
        "PullRequestIssue": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string",
                    "description": "Specific message describing an issue with the PR"
                },
                "extra": {
                    "description": "Extra JSON content to describe the issue with the PR",
                    "$ref": "#/definitions/JValue"
                }
            },
            "description": "Information describing a specific issue with a PR"
        },
        "JValue": {
            "type": "object"
        },
        "Value": {
            "type": "object"
        },
        "FileEntry": {
            "type": "object",
            "properties": {
                "path": {
                    "type": "string",
                    "description": "The OS path to the file"
                },
                "hash": {
                    "type": "string",
                    "description": "The SHA-1 hash of the file contents"
                },
                "type": {
                    "type": "string",
                    "description": "The type of file"
                },
                "access": {
                    "type": "string",
                    "description": "The access controls for the file"
                }
            },
            "description": "Description of a file entry"
        },
        "RejectionDetails": {
            "type": "object",
            "properties": {
                "component": {
                    "type": "string",
                    "description": "The component which rejected the PR (e.g, market-type-manager)"
                },
                "description": {
                    "type": "string",
                    "description": "General (component specific) reason why the PR was rejected"
                },
                "issues": {
                    "type": "array",
                    "description": "Specific issues with the PR which caused rejection",
                    "items": {
                        "$ref": "#/definitions/PullRequestIssue"
                    }
                }
            },
            "description": "Information describing why a PR was rejected by a particular component"
        },
        "ChangeLog": {
            "type": "object",
            "properties": {
                "changeId": {
                    "type": "string",
                    "description": "UUID for the change"
                },
                "date": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Date/time stamp for the completion of the change"
                },
                "email": {
                    "type": "string",
                    "description": "Text of the email describing the change"
                },
                "subject": {
                    "type": "string",
                    "description": "Subject of the email describing the change"
                }
            },
            "description": "Information associated with a specific asset change"
        },
        "AuthorizedKey": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Fingerprint (per ssh-keygen) of the key (without colons).  Not used on Create."
                },
                "key": {
                    "type": "string",
                    "description": "Authorized key (e.g., content of the id_rsa.pub file generated by ssh-keygen)"
                }
            },
            "description": "Ssh public keys authorized for git access"
        },
        "ListReply[ChangeLog]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/ChangeLog"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ListReply[FileEntry]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/FileEntry"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ErrorResponse": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "description": "A list of all errors that occurred.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "AuditAttributesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the audit"
                },
                "auditType": {
                    "type": "string",
                    "description": "Audit Type",
                    "enum": [
                        "NeConfiguration",
                        "Network"
                    ]
                },
                "description": {
                    "type": "string",
                    "description": "The description of the audit"
                },
                "creationTime": {
                    "type": "string",
                    "description": "The creation time of the audit"
                },
                "comments": {
                    "type": "string",
                    "description": "The comment of the audit"
                }
            }
        },
        "AuditDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the audit"
                },
                "type": {
                    "type": "string",
                    "description": "The audit type",
                    "enum": [
                        "audits"
                    ]
                },
                "attributes": {
                    "description": "The specification of an audit attributes",
                    "$ref": "#/definitions/AuditAttributesRO"
                },
                "relationships": {
                    "description": "The audit record relationships",
                    "$ref": "#/definitions/AuditRelationshipsRO"
                }
            }
        },
        "AuditFindingAttributesRO": {
            "type": "object",
            "properties": {
                "fixTime": {
                    "type": "string",
                    "description": "The fix time of the audit"
                },
                "fixState": {
                    "description": "The specification of an audit finding fixing state",
                    "$ref": "#/definitions/FixingStateRO"
                },
                "severity": {
                    "type": "string",
                    "description": "The state",
                    "enum": [
                        "CRITICAL",
                        "MAJOR",
                        "MINOR"
                    ]
                },
                "comments": {
                    "type": "string",
                    "description": "The comments of the audit findings "
                },
                "issueMessage": {
                    "type": "string",
                    "description": "The description of the issue "
                },
                "testKey": {
                    "type": "string",
                    "description": "The description of the profile Name and test type of the issue "
                },
                "testType": {
                    "type": "string",
                    "description": "The description of the test type of the issue "
                },
                "profileName": {
                    "type": "string",
                    "description": "The name of the profile "
                },
                "profileId": {
                    "type": "string",
                    "description": "The id of the profile "
                },
                "isFixable": {
                    "type": "boolean",
                    "description": "If the testTypes that belong the profiles under this run provide fix APIs",
                    "default": false
                },
                "groupId": {
                    "type": "string",
                    "description": "Group id of the finding"
                },
                "neId": {
                    "type": "string",
                    "description": "Ne id for the finding"
                },
                "neName": {
                    "type": "string",
                    "description": "Ne name for the finding"
                },
                "neTags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "neType": {
                    "type": "string",
                    "description": "Ne type for the finding"
                },
                "nePartitions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "instancePresent": {
                    "type": "boolean",
                    "description": "if an instance is present. Set to false when a global instance is not present",
                    "default": false
                },
                "requireManualFix": {
                    "type": "boolean",
                    "description": "if this finding contains any finding details that requires manual fix",
                    "default": false
                },
                "findingDetails": {
                    "description": "A map of any object ",
                    "$ref": "#/definitions/FindingDetailsRO"
                }
            }
        },
        "AuditFindingDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the audit finding"
                },
                "type": {
                    "type": "string",
                    "description": "The audit findings",
                    "enum": [
                        "AUDIT_FINDINGS"
                    ]
                },
                "attributes": {
                    "description": "The specification of an audit findings attributes",
                    "$ref": "#/definitions/AuditFindingAttributesRO"
                },
                "relationships": {
                    "description": "The specification of an audit finding relationships",
                    "$ref": "#/definitions/AuditFindingRelationshipsRO"
                }
            }
        },
        "AuditFindingListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "The specification of the audit finding list to UI",
                    "$ref": "#/definitions/AuditFindingMetaRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AuditFindingDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "AuditFindingMetaRO": {
            "type": "object",
            "properties": {
                "tableDisplayData": {
                    "description": "The table display data as meta for UI to display audit findings",
                    "$ref": "#/definitions/TableDisplayDataRO"
                },
                "filteredByPartition": {
                    "type": "boolean",
                    "description": "If the response is filtered by partition",
                    "default": false
                }
            }
        },
        "AuditFindingRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "The specification of the audit finding list to UI",
                    "$ref": "#/definitions/AuditFindingMetaRO"
                },
                "data": {
                    "description": "The specification of an audit finding data",
                    "$ref": "#/definitions/AuditFindingDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "AuditFindingRelationshipsRO": {
            "type": "object",
            "properties": {
                "audit": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "auditRun": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "AuditListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AuditDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "AuditPatchOperationRO": {
            "type": "object",
            "properties": {
                "path": {
                    "type": "string",
                    "description": "The path to the audit attribute."
                },
                "op": {
                    "type": "string",
                    "description": "The supported operation on the audit.",
                    "enum": [
                        "ADD",
                        "REPLACE",
                        "DELETE",
                        "AUDIT"
                    ]
                },
                "value": {
                    "description": "The patched value.",
                    "$ref": "#/definitions/ValueRO"
                },
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "AuditPatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AuditPatchOperationRO"
                    }
                }
            }
        },
        "AuditProfileAttributesRO": {
            "type": "object",
            "properties": {
                "auditType": {
                    "type": "string",
                    "description": "Audit Type",
                    "enum": [
                        "NeConfiguration",
                        "Network"
                    ]
                },
                "profileId": {
                    "type": "string",
                    "description": "The identifier of the profile coming from MCP App"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the profile"
                },
                "supportMultipleAudits": {
                    "type": "boolean",
                    "description": "If the profile can belong more than one audit.",
                    "default": false
                },
                "lastUpdatedTime": {
                    "type": "string",
                    "description": "The last updated time of the given profile, milliseconds after epoch"
                },
                "mappingAttributes": {
                    "description": "The display mapping",
                    "$ref": "#/definitions/MappingAttributesRO"
                }
            }
        },
        "AuditProfileDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the audit profile"
                },
                "type": {
                    "type": "string",
                    "description": "The test type",
                    "enum": [
                        "auditProfiles"
                    ]
                },
                "attributes": {
                    "description": "The specification of an Audit Profile Attributes",
                    "$ref": "#/definitions/AuditProfileAttributesRO"
                },
                "relationships": {
                    "description": "The audit profile relationships",
                    "$ref": "#/definitions/AuditProfileRelationshipsRO"
                }
            }
        },
        "AuditProfileListRO": {
            "type": "object",
            "properties": {
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AuditProfileDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "AuditProfileRO": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The specification of an Audit Profile data",
                    "$ref": "#/definitions/AuditProfileDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "AuditProfileRelationshipsRO": {
            "type": "object",
            "properties": {
                "testTypes": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "AuditRO": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The specification of an audit data",
                    "$ref": "#/definitions/AuditDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "AuditRelationshipsRO": {
            "type": "object",
            "properties": {
                "auditProfiles": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "auditTarget": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "auditRuns": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "AuditRunAttributesRO": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "The description of the audit run."
                },
                "runTime": {
                    "type": "string",
                    "description": "The time of the audit run"
                },
                "runSummary": {
                    "description": "The specification of an audit run summary attributes",
                    "$ref": "#/definitions/AuditSummaryRO"
                },
                "auditState": {
                    "description": "The specification of an audit state",
                    "$ref": "#/definitions/AuditStateRO"
                },
                "findingState": {
                    "type": "string",
                    "description": "Audit Type",
                    "enum": [
                        "NoFindings",
                        "Findings"
                    ]
                },
                "fixState": {
                    "description": "The specification of an audit finding fixing state",
                    "$ref": "#/definitions/FixingStateRO"
                },
                "isFixable": {
                    "type": "boolean",
                    "description": "If the testTypes that belong the profiles under this run provide fix APIs",
                    "default": false
                }
            }
        },
        "AuditRunDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the audit run"
                },
                "type": {
                    "type": "string",
                    "description": "The audit run type",
                    "enum": [
                        "auditRuns"
                    ]
                },
                "attributes": {
                    "description": "The specification of an audit run attributes",
                    "$ref": "#/definitions/AuditRunAttributesRO"
                }
            }
        },
        "AuditRunRO": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The specification of an audit run data",
                    "$ref": "#/definitions/AuditRunDataRO"
                }
            }
        },
        "AuditStateRO": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string",
                    "description": "The state",
                    "enum": [
                        "CREATED",
                        "STARTED",
                        "AUDITING",
                        "COMPLETED",
                        "FAILED",
                        "CANCEL_REQUESTED",
                        "CANCEL_REQUEST_FAILED",
                        "CANCELLED",
                        "PARTIALLY_COMPLETED",
                        "PARTIALLY_FAILED",
                        "STALE"
                    ]
                },
                "message": {
                    "type": "string",
                    "description": "The message for state"
                }
            }
        },
        "AuditSummaryRO": {
            "type": "object",
            "properties": {
                "totalResources": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The total number of nodes that belong to the run."
                },
                "resourceTypes": {
                    "type": "string",
                    "description": "The type of the resources.",
                    "enum": [
                        "networkConstructs"
                    ]
                },
                "progressPercent": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The audit progress in percentage."
                },
                "failed": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The number of nodes that have failed in the audit run."
                },
                "findingSummaries": {
                    "type": "array",
                    "description": "A list of finding summaries of test types.",
                    "items": {
                        "$ref": "#/definitions/FindingSummaryRO"
                    }
                },
                "fixed": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The number of fixed findings in the audit run."
                },
                "failures": {
                    "type": "array",
                    "description": "A list of failures that belong to this run.",
                    "items": {
                        "$ref": "#/definitions/FailureRO"
                    }
                }
            }
        },
        "AuditTargetAttributesRO": {
            "type": "object",
            "properties": {
                "source": {
                    "type": "string",
                    "description": "The source that defines the NE context and provides the filtering, for example configmgmt, nsi"
                },
                "queryParams": {
                    "description": "The specification of query parameters of an audit target",
                    "$ref": "#/definitions/QueryParamsRO"
                }
            }
        },
        "AuditTargetDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the audit target - same with the audit"
                },
                "type": {
                    "type": "string",
                    "description": "The audit type",
                    "enum": [
                        "auditTargets"
                    ]
                },
                "attributes": {
                    "description": "The specification of an audit target attributes",
                    "$ref": "#/definitions/AuditTargetAttributesRO"
                },
                "relationships": {
                    "description": "The audit target relationships",
                    "$ref": "#/definitions/AuditTargetRelationshipsRO"
                }
            }
        },
        "AuditTargetRO": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The specification of an audit target data",
                    "$ref": "#/definitions/AuditTargetDataRO"
                }
            }
        },
        "AuditTargetRelationshipsRO": {
            "type": "object",
            "properties": {
                "resources": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "DisplayMappingRO": {
            "type": "object"
        },
        "FailureDetailRO": {
            "type": "object",
            "properties": {
                "resource": {
                    "type": "string",
                    "description": "The resource of the failures"
                },
                "message": {
                    "type": "string",
                    "description": "The failure message"
                }
            }
        },
        "FailureRO": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                }
            },
            "description": "The information about a failure"
        },
        "FindingDetailsRO": {
            "type": "object"
        },
        "FindingSummaryRO": {
            "type": "object",
            "properties": {
                "testKey": {
                    "type": "string",
                    "description": "The testKey the summaries are grouped by"
                },
                "profileName": {
                    "type": "string",
                    "description": "The profile name"
                },
                "testType": {
                    "type": "string",
                    "description": "The test type"
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The total number of findings"
                },
                "fixed": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The number of fixed findings"
                },
                "fixedFailed": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The number of findings that are failed to be fixed"
                },
                "requireManualFix": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The number of findings that require manual fix"
                },
                "progressPercent": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The audit progress for test type in percentage."
                }
            }
        },
        "FixingStateRO": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string",
                    "description": "The fix state",
                    "enum": [
                        "UNKNOWN",
                        "NOT_FIXED",
                        "FIX_REQUESTED",
                        "FIXING",
                        "FIXED",
                        "FIX_CANCEL_REQUESTED",
                        "FIX_CANCELLED",
                        "PARTIALLY_FAILED",
                        "FAILED",
                        "FIX_REQUESTED_FAILED",
                        "FIX_CANCEL_REQUESTED_FAILED",
                        "PARTIALLY_FIXED",
                        "REQUIRE_MANUAL_FIX"
                    ]
                },
                "message": {
                    "type": "string",
                    "description": "The message for state"
                }
            }
        },
        "LinksRO": {
            "type": "object",
            "properties": {
                "self": {
                    "type": "string",
                    "format": "uri",
                    "description": "A `self` member, whose value is a URL for the relationship itself (a \"relationship URL\"). This URL allows the client to directly manipulate the relationship. For example, it would allow a client to remove an `author` from an `article` without deleting the people resource itself."
                },
                "first": {
                    "type": "string",
                    "format": "uri",
                    "description": "The first page of data"
                },
                "last": {
                    "type": "string",
                    "format": "uri",
                    "description": "The last page of data"
                },
                "prev": {
                    "type": "string",
                    "format": "uri",
                    "description": "The previous page of data"
                },
                "next": {
                    "type": "string",
                    "format": "uri",
                    "description": "The next page of data"
                },
                "current": {
                    "type": "string",
                    "format": "uri",
                    "description": "The current page of data"
                }
            }
        },
        "MappingAttributesRO": {
            "type": "object"
        },
        "OneToManyRelationshipRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "The one-to-many relationship",
                    "items": {
                        "$ref": "#/definitions/RelationshipDataRO"
                    }
                },
                "meta": {
                    "description": "The relationship type and identifier",
                    "$ref": "#/definitions/RelationshipMetaDataRO"
                }
            }
        },
        "OneToOneRelationshipRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/RelationshipDataRO"
                },
                "meta": {
                    "$ref": "#/definitions/RelationshipMetaDataRO"
                }
            }
        },
        "QueryParamsRO": {
            "type": "object"
        },
        "RelationshipDataRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "The relationship resource type"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the referenced resource."
                }
            }
        },
        "TableDisplayDataRO": {
            "type": "object"
        },
        "TestTypeAttributesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the test type"
                },
                "auditType": {
                    "type": "string",
                    "description": "Audit Type",
                    "enum": [
                        "NeConfiguration",
                        "Network"
                    ]
                },
                "version": {
                    "type": "string",
                    "description": "The version of the test type"
                },
                "typeGroups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "The description of the test type"
                },
                "isFixable": {
                    "type": "boolean",
                    "description": "The test type supports fix",
                    "default": false
                },
                "displayMapping": {
                    "description": "The display mapping",
                    "$ref": "#/definitions/DisplayMappingRO"
                }
            }
        },
        "TestTypeDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the test type"
                },
                "type": {
                    "type": "string",
                    "description": "The test type",
                    "enum": [
                        "testTypes"
                    ]
                },
                "attributes": {
                    "description": "The specification of a test type attributes",
                    "$ref": "#/definitions/TestTypeAttributesRO"
                }
            }
        },
        "TestTypeRO": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The specification of a Test Type data",
                    "$ref": "#/definitions/TestTypeDataRO"
                }
            }
        },
        "ValueRO": {
            "type": "object"
        },
        "BackupDetail": {
            "type": "object",
            "properties": {
                "scheduleName": {
                    "type": "string"
                },
                "solutionName": {
                    "type": "string"
                },
                "executionTime": {
                    "type": "string"
                },
                "entityType": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "snapshotName": {
                    "type": "string"
                },
                "failure": {
                    "$ref": "#/definitions/Failure"
                }
            }
        },
        "BackupJob": {
            "type": "object",
            "properties": {
                "cancelled": {
                    "type": "boolean",
                    "default": false
                },
                "schedule": {
                    "$ref": "#/definitions/BackupSchedule"
                },
                "snapshots": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "label": {
                    "type": "string"
                },
                "solutionName": {
                    "type": "string"
                },
                "entityType": {
                    "type": "string"
                },
                "force": {
                    "type": "boolean",
                    "default": false
                },
                "details": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/BackupDetail"
                    }
                },
                "lastExecutionTime": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "id": {
                    "type": "integer",
                    "format": "int64"
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "BackupJobRO": {
            "type": "object",
            "properties": {
                "solutionName": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "snapshots": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "description": "The information about a backup job"
        },
        "BackupRequestRO": {
            "type": "object",
            "properties": {
                "solutionName": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                }
            }
        },
        "BackupSchedule": {
            "type": "object",
            "properties": {
                "frequency": {
                    "type": "string",
                    "enum": [
                        "ONCE",
                        "DAILY",
                        "WEEKLY",
                        "MONTHLY"
                    ]
                },
                "time": {
                    "type": "string"
                },
                "date": {
                    "type": "string"
                },
                "dayOfMonth": {
                    "type": "integer",
                    "format": "int32"
                },
                "dayOfWeek": {
                    "type": "string",
                    "enum": [
                        "MONDAY",
                        "TUESDAY",
                        "WEDNESDAY",
                        "THURSDAY",
                        "FRIDAY",
                        "SATURDAY",
                        "SUNDAY"
                    ]
                },
                "nextExecutionTime": {
                    "type": "string"
                },
                "intervalInMinutes": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "BackupScheduleAttributesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "solutionName": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "lastExecutionTime": {
                    "type": "string"
                },
                "schedule": {
                    "$ref": "#/definitions/Schedule"
                },
                "force": {
                    "type": "boolean",
                    "default": false
                },
                "entityType": {
                    "type": "string"
                }
            },
            "description": "The attributes of a backup schedule"
        },
        "BackupScheduleDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the backup schedule resource"
                },
                "type": {
                    "type": "string",
                    "description": "The backup resource type",
                    "enum": [
                        "SCHEDULES"
                    ]
                },
                "attributes": {
                    "description": "The attributes of a backup schedule",
                    "$ref": "#/definitions/BackupScheduleAttributesRO"
                },
                "relationships": {
                    "description": "The relationships of a backup schedule",
                    "$ref": "#/definitions/BackupScheduleRelationshipsRO"
                }
            }
        },
        "BackupScheduleListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "Backup schedules",
                    "items": {
                        "$ref": "#/definitions/BackupScheduleDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Referenced backup resources",
                    "items": {
                        "$ref": "#/definitions/BackupSnapshotDataRO"
                    }
                }
            }
        },
        "BackupScheduleRO": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Backup schedules",
                    "$ref": "#/definitions/BackupScheduleDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Referenced backup resources",
                    "items": {
                        "$ref": "#/definitions/BackupSnapshotDataRO"
                    }
                }
            }
        },
        "BackupScheduleRelationshipsRO": {
            "type": "object",
            "properties": {
                "backups": {
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "BackupSettingsAttributesRO": {
            "type": "object",
            "properties": {
                "archive": {
                    "type": "boolean",
                    "default": false
                },
                "numberOfRetainedLocalBackups": {
                    "type": "integer",
                    "format": "int32"
                },
                "numberOfRetainedArchivedBackups": {
                    "type": "integer",
                    "format": "int32"
                },
                "timeoutInHours": {
                    "type": "integer",
                    "format": "int32"
                },
                "raiseAlarmOnBackupFailure": {
                    "type": "boolean",
                    "default": false
                }
            },
            "description": "The attributes of the backup settings"
        },
        "BackupSettingsDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the backup settings resource"
                },
                "type": {
                    "type": "string",
                    "description": "The backup resource type",
                    "enum": [
                        "SETTINGS"
                    ]
                },
                "attributes": {
                    "description": "The attributes of backup settings",
                    "$ref": "#/definitions/BackupSettingsAttributesRO"
                }
            }
        },
        "BackupSettingsRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/BackupSettingsDataRO"
                }
            }
        },
        "BackupSnapshotAttributesRO": {
            "type": "object",
            "properties": {
                "scheduleName": {
                    "type": "string"
                },
                "solutionName": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "executionTime": {
                    "type": "string"
                },
                "snapshotName": {
                    "type": "string"
                },
                "entityType": {
                    "type": "string"
                },
                "failure": {
                    "$ref": "#/definitions/FailureRO"
                }
            },
            "description": "The attributes of a backup snapshot"
        },
        "BackupSnapshotDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the backup snapshot resource"
                },
                "type": {
                    "type": "string",
                    "description": "The backup resource type",
                    "enum": [
                        "BACKUPS"
                    ]
                },
                "attributes": {
                    "description": "The attributes of a backup snapshot",
                    "$ref": "#/definitions/BackupSnapshotAttributesRO"
                }
            }
        },
        "BackupSnapshotListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "Backup snapshots metadata",
                    "$ref": "#/definitions/BackupSnapshotMetaRO"
                },
                "data": {
                    "type": "array",
                    "description": "Backup snapshots",
                    "items": {
                        "$ref": "#/definitions/BackupSnapshotDataRO"
                    }
                }
            }
        },
        "BackupSnapshotMetaRO": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The total count of the backup snapshot resource"
                }
            }
        },
        "Failure": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                },
                "reason": {
                    "type": "string"
                }
            }
        },
        "RestoreJobRO": {
            "type": "object",
            "properties": {
                "solutionName": {
                    "type": "string"
                },
                "solutionSnapshot": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "executionTime": {
                    "type": "string"
                }
            },
            "description": "The information about a restore job"
        },
        "RestoreRequestRO": {
            "type": "object",
            "properties": {
                "solutionName": {
                    "type": "string"
                },
                "solutionSnapshot": {
                    "type": "string"
                }
            }
        },
        "Schedule": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "weekly"
                    ]
                },
                "days": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "mon",
                            "tue",
                            "wed",
                            "thu",
                            "fri",
                            "sat",
                            "sun"
                        ]
                    }
                },
                "time": {
                    "type": "string"
                }
            }
        },
        "scriptsSummaryData": {
            "type": "object",
            "required": [
                "devicetypesURLs",
                "projectName",
                "nodes",
                "supportedFormats"
            ],
            "properties": {
                "devicetypesURLs": {
                    "type": "array",
                    "description": "The URLs to get commissioning scripts for each device types available in project.",
                    "items": {
                        "type": "object",
                        "required": [
                            "deviceType",
                            "scriptLinks"
                        ],
                        "properties": {
                            "deviceType": {
                                "type": "string",
                                "description": "The device type value",
                                "default": "",
                                "examples": [
                                    "WaveserverAi",
                                    "6500"
                                ]
                            },
                            "scriptLinks": {
                                "type": "array",
                                "description": "The URLs array to get commissioning scripts for each device type.",
                                "items": {
                                    "type": "object",
                                    "required": [
                                        "link",
                                        "format"
                                    ],
                                    "properties": {
                                        "link": {
                                            "type": "string",
                                            "description": "A URL to get the commissioning scripts for a device type.",
                                            "examples": [
                                                "http://localhost:8080/commissioning/api/v1/scripts/?projectname=WS6500Project&devicetype=WaveserverAi&format=ztpScripts"
                                            ]
                                        },
                                        "format": {
                                            "type": "string",
                                            "description": "Format of the commissioning scripts data, for example - json, cli, ztpScripts",
                                            "examples": [
                                                "ztpScripts",
                                                "cli",
                                                "json"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "projectName": {
                    "type": "string",
                    "description": "Project name for which commissioning scripts are available."
                },
                "nodes": {
                    "type": "array",
                    "description": "Nodes available in the project.",
                    "items": {
                        "type": "object",
                        "required": [
                            "nodeType",
                            "shelves",
                            "deviceType",
                            "nodeName",
                            "scriptLinks"
                        ],
                        "properties": {
                            "nodeType": {
                                "type": "string",
                                "description": "Node type of the node.",
                                "examples": [
                                    "OADM"
                                ]
                            },
                            "shelves": {
                                "type": "array",
                                "description": "Shelves available in the node.",
                                "items": {
                                    "type": "object",
                                    "required": [
                                        "release",
                                        "shelfId",
                                        "primary"
                                    ],
                                    "properties": {
                                        "release": {
                                            "type": "string",
                                            "description": "Release of the node.",
                                            "examples": [
                                                "12.1"
                                            ]
                                        },
                                        "shelfId": {
                                            "type": "string",
                                            "description": "Shelf id or Shelf number",
                                            "examples": [
                                                "1"
                                            ]
                                        },
                                        "primary": {
                                            "type": "string",
                                            "description": "Inform if primary is enabled or not.",
                                            "examples": [
                                                "Enable"
                                            ]
                                        }
                                    }
                                }
                            },
                            "deviceType": {
                                "type": "string",
                                "description": "Device type",
                                "examples": [
                                    "6500"
                                ]
                            },
                            "nodeName": {
                                "type": "string",
                                "description": "Node name",
                                "examples": [
                                    "NE1"
                                ]
                            },
                            "scriptLinks": {
                                "type": "array",
                                "description": "The URLs array to get the commissioning script for a node.",
                                "items": {
                                    "type": "object",
                                    "required": [
                                        "link",
                                        "format"
                                    ],
                                    "properties": {
                                        "link": {
                                            "type": "string",
                                            "description": "The URL to get the commissioning script for a node name.",
                                            "examples": [
                                                "http://localhost:8080/commissioning/api/v1/scripts/?projectname=WS6500Project&devicetype=6500&nodename=sidtid1"
                                            ]
                                        },
                                        "format": {
                                            "type": "string",
                                            "description": "Format of the commissioning scripts data, for example - json, cli, ztpScripts",
                                            "examples": [
                                                "ztpScripts",
                                                "cli",
                                                "json"
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "supportedFormats": {
                    "type": "array",
                    "description": "Support formats of commissioning scripts available for this project.",
                    "items": {
                        "type": "string",
                        "examples": [
                            "ztpScripts",
                            "cli",
                            "json"
                        ]
                    }
                }
            }
        },
        "newEquipment": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "description": "Data for commissioning an equipment.",
                    "required": [
                        "attributes"
                    ],
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "description": "Attributes required for an equipment commissioning.",
                            "properties": {
                                "planning": {
                                    "$ref": "#/definitions/planningData"
                                },
                                "networkConstruct": {
                                    "$ref": "#/definitions/networkConstructData"
                                },
                                "equipment": {
                                    "$ref": "#/definitions/equipmentData"
                                }
                            }
                        }
                    }
                }
            }
        },
        "commissionProjectData": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "description": "Data for nodes and planning projects identifiers.",
                    "required": [
                        "attributes"
                    ],
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "description": "Attributes required for commissionining shelves available in planning project.",
                            "properties": {
                                "planning": {
                                    "$ref": "#/definitions/planningData"
                                },
                                "nodes": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/networkConstructData"
                                    }
                                },
                                "expectations": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/networkConstructExpectationsData"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "planningData": {
            "type": "object",
            "description": "Data associated with Resource Planning Tool(RPT).",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "This field maps to the project id field in the RPT. This identifier is used by commissioning to retrieve auto-slat data from RPT."
                },
                "name": {
                    "type": "string",
                    "description": "This field maps to the project name field in the RPT."
                }
            }
        },
        "networkConstructData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the NetworkConstruct resource"
                },
                "type": {
                    "type": "string",
                    "description": "The Network Construct resource type"
                },
                "attributes": {
                    "$ref": "#/definitions/networkConstructAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/networkConstructRelationships"
                }
            }
        },
        "networkConstructExpectationsData": {
            "type": "object",
            "required": [
                "type"
            ],
            "properties": {
                "id": {
                    "description": "The unique identifier of the network construct expectation",
                    "type": "string"
                },
                "type": {
                    "description": "The network construct expectation type",
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/networkConstructExpectationAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/networkConstructExpectationRelationships"
                }
            }
        },
        "networkConstructExpectationAttributes": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "title": "Name",
                    "description": "Name (e.g. TID) of the Network Construct"
                },
                "ipAddress": {
                    "type": "string",
                    "title": "IP Address",
                    "description": "IP address used for expectations."
                },
                "shelfType": {
                    "type": "string",
                    "title": "Shelf type",
                    "description": "Shelf type of the network construct(example - ILA, DGE."
                }
            }
        },
        "networkConstructExpectationRelationships": {
            "type": "object",
            "properties": {
                "equipmentIntent": {
                    "type": "object",
                    "description": "The one-to-one relationship to the equipment intent that created the expectation",
                    "$ref": "#/definitions/oneToOneRelationship"
                },
                "serviceIntent": {
                    "type": "object",
                    "description": "The one-to-one relationship to the service intent that created the expectation",
                    "$ref": "#/definitions/oneToOneRelationship"
                },
                "physicalLocation": {
                    "type": "object",
                    "description": "The location of the network construct expectation is a one-to-one relationship",
                    "$ref": "#/definitions/oneToOneRelationship"
                },
                "parentNetworkConstruct": {
                    "type": "object",
                    "description": "The parent network construct is a one-to-one relationship",
                    "$ref": "#/definitions/oneToOneRelationship"
                }
            }
        },
        "equipmentData": {
            "description": "The equipment data",
            "type": "object",
            "properties": {
                "id": {
                    "description": "The unique identifier for the equipment resource",
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "description": "The equipment resource type"
                },
                "attributes": {
                    "$ref": "#/definitions/equipmentAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/equipmentRelationships"
                }
            }
        },
        "equipmentAttributes": {
            "description": "The equipment attributes",
            "type": "object",
            "properties": {
                "locations": {
                    "type": "array",
                    "description": "The list of locations associated with the equipment",
                    "items": {
                        "$ref": "#/definitions/location"
                    }
                },
                "category": {
                    "type": "string",
                    "description": "The equipment category"
                },
                "nativeName": {
                    "type": "string",
                    "description": "The native name of the equipment"
                },
                "provisionedSpec": {
                    "$ref": "#/definitions/equipmentSpec"
                },
                "installedSpec": {
                    "$ref": "#/definitions/equipmentSpec"
                },
                "state": {
                    "type": "string",
                    "description": "The primary state of the equipment"
                },
                "secondaryState": {
                    "type": "string",
                    "description": "The secondary state of the equipment"
                },
                "availabilityState": {
                    "type": "string",
                    "description": "The availability state of the equipment"
                },
                "reservationState": {
                    "type": "string",
                    "description": "The reservation state of the equipment"
                },
                "cardType": {
                    "type": "string",
                    "description": "The card type"
                },
                "siteName": {
                    "type": "string",
                    "description": "The site name associated with the equipment"
                },
                "siteId": {
                    "type": "string",
                    "description": "The site identifier associated with the equipment"
                },
                "maintenanceMode": {
                    "description": "Maintenance mode to indicate if the equipment is available or not to MCP. While in maintenance mode, MCP will not provision anything against this equipment (including TPE information)",
                    "type": "boolean"
                },
                "syncScopes": {
                    "type": "array",
                    "description": "The sync scope for the equipment",
                    "items": {
                        "$ref": "#/definitions/syncScope"
                    }
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/additionalAttributes"
                }
            }
        },
        "equipmentSpec": {
            "description": "The specification of an equipment; can be either installed specification, the physical representation of the equipment, or provisioned specification, the logic representation of the equipment",
            "type": "object",
            "properties": {
                "hardwareVersion": {
                    "type": "string",
                    "description": "The hardware version"
                },
                "serialNumber": {
                    "type": "string",
                    "description": "The serial number"
                },
                "manufacturer": {
                    "type": "string",
                    "description": "The manufacturer"
                },
                "type": {
                    "type": "string",
                    "description": "The type of equipment"
                },
                "partNumber": {
                    "type": "string",
                    "description": "The part number"
                },
                "version": {
                    "type": "string",
                    "description": "The software version"
                },
                "displayLabels": {
                    "$ref": "#/definitions/displayLabelMap"
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/additionalAttributes"
                }
            }
        },
        "equipmentRelationships": {
            "description": "The equipment relationships",
            "type": "object",
            "properties": {
                "networkConstruct": {
                    "$ref": "#/definitions/oneToOneRelationship"
                },
                "equipmentHolder": {
                    "$ref": "#/definitions/oneToOneRelationship"
                },
                "equipmentExpectations": {
                    "$ref": "#/definitions/oneToManyRelationship"
                }
            }
        },
        "networkConstructAttributes": {
            "type": "object",
            "properties": {
                "ipAddress": {
                    "type": "string",
                    "description": "IP Address of Network Construct."
                },
                "typeGroup": {
                    "type": "string",
                    "description": "Resource adapter type group."
                },
                "resourceType": {
                    "type": "string",
                    "description": "Resource Type."
                },
                "associationState": {
                    "type": "string",
                    "description": "Association state of the network construct."
                },
                "deviceType": {
                    "type": "string",
                    "description": "Device Type."
                },
                "softwareVersion": {
                    "type": "string",
                    "description": "Software version running in the device."
                },
                "accessIdentifier": {
                    "type": "string",
                    "description": "AID of the device."
                },
                "macAddress": {
                    "type": "string",
                    "description": "MAC address of the device."
                },
                "name": {
                    "type": "string",
                    "description": "Name (e.g. TID) of the Network Construct."
                },
                "geoLocation": {
                    "$ref": "#/definitions/geoLocation"
                },
                "serialNumber": {
                    "type": "string",
                    "description": "Serial number (e.g. NNTMHQDP0001)."
                },
                "deviceVersion": {
                    "type": "string",
                    "description": "Device version (example- 6500 32-SLOT OPTICAL)."
                },
                "softwareType": {
                    "type": "string",
                    "description": "Software type (example- OCP)"
                },
                "softwareImage": {
                    "type": "string",
                    "description": "Software image"
                },
                "subnetName": {
                    "type": "string",
                    "description": "Subnet name (e.g. ROADM1---ROADM2---SUBNET)"
                },
                "numberOfShelves": {
                    "type": "integer",
                    "description": "Number of shelves (primary + member shelves in case of TIDc)"
                },
                "memberFunction": {
                    "type": "string",
                    "description": "Member function of the network construct."
                },
                "shelfType": {
                    "type": "string",
                    "description": "Shelf type of the network construct."
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/additionalAttributes"
                },
                "capabilitySpecRef": {
                    "type": "string",
                    "description": "Name of the file which contains the constraint rules of the network device."
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "$ref": "#/definitions/networkConstructIdentifier",
                        "description": "A list of attributes used to identify a specific Equipment"
                    }
                },
                "userData": {
                    "$ref": "#/definitions/networkConstructUserData"
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type associated with this network construct.",
                    "$ref": "#/definitions/networkConstructModelType"
                },
                "networkConstructType": {
                    "type": "string",
                    "description": "The type of network construct. It is used to represent the physical hierarchy of a network element."
                },
                "l2Data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "$ref": "#/definitions/l2Data",
                        "description": "L2 Configuration Data for the NE"
                    }
                }
            }
        },
        "networkConstructUserData": {
            "type": "object",
            "description": "User data"
        },
        "networkConstructIdentifier": {
            "type": "object",
            "description": "Various attributes added by a user to identify the device"
        },
        "networkConstructRelationships": {
            "type": "object",
            "properties": {
                "networkConstructExpectations": {
                    "$ref": "#/definitions/oneToManyRelationship"
                },
                "managementSession": {
                    "$ref": "#/definitions/oneToOneRelationship"
                },
                "physicalLocation": {
                    "$ref": "#/definitions/oneToOneRelationship"
                },
                "parentNetworkConstruct": {
                    "$ref": "#/definitions/oneToOneRelationship"
                },
                "childrenNetworkConstruct": {
                    "$ref": "#/definitions/oneToManyRelationship"
                },
                "concrete": {
                    "$ref": "#/definitions/oneToManyRelationship"
                }
            }
        },
        "networkConstructModelType": {
            "type": "string",
            "description": "The model type of network construct, TPE, FRE."
        },
        "geoLocation": {
            "type": "object",
            "description": "The geography location of the device",
            "properties": {
                "zone": {
                    "type": "string",
                    "description": "Zone of the device location"
                },
                "longitude": {
                    "type": "string",
                    "description": "Longitude of the device location"
                },
                "latitude": {
                    "type": "string",
                    "description": "Latitude of the device location"
                }
            }
        },
        "location": {
            "description": "The location of the entity queried for metrics",
            "properties": {
                "baynum": {
                    "type": "string"
                },
                "mcId": {
                    "description": "chcIdx of NMCC AID",
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "slot": {
                    "type": "string"
                },
                "subport": {
                    "type": "string"
                },
                "subslot": {
                    "type": "string"
                }
            }
        },
        "remoteNetworkConstructRoute": {
            "description": "The remote NE connection data",
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "TL1 target identifier for an NE (e.g. G4218-2NCP06)"
                },
                "connectionAddress": {
                    "type": "array",
                    "description": "Connection addresses of the NE",
                    "items": {
                        "$ref": "#/definitions/remoteNetworkConstructRoutingConnectionAddress"
                    }
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/additionalAttributes"
                }
            }
        },
        "remoteNetworkConstructRoutingConnectionAddress": {
            "description": "The remote NE connection data",
            "type": "object",
            "properties": {
                "address": {
                    "type": "string",
                    "description": "Connection address of the NE"
                },
                "cost": {
                    "type": "integer",
                    "description": "Connection cost of the above mentioned address (optional)"
                }
            }
        },
        "additionalAttributes": {
            "type": "object",
            "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
            "properties": {
                "additionalProperties": {
                    "type": "string"
                }
            }
        },
        "displayLabelMap": {
            "type": "object",
            "description": "Display label key/value pair map",
            "properties": {
                "additionalProperties": {
                    "type": "string"
                }
            }
        },
        "oneToManyRelationship": {
            "description": "The one-to-many relationship",
            "type": "object",
            "properties": {
                "data": {
                    "description": "The one-to-many relationship",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/relationshipData"
                    }
                }
            }
        },
        "oneToOneRelationship": {
            "description": "The one-to-one relationship",
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/relationshipData"
                }
            }
        },
        "relationshipData": {
            "description": "The relationship type and identifier",
            "type": "object",
            "properties": {
                "type": {
                    "description": "The relationship resource type",
                    "type": "string"
                },
                "id": {
                    "description": "The unique identifier for the referenced resource.",
                    "type": "string"
                }
            }
        },
        "syncScope": {
            "description": "The synchronization scope",
            "properties": {
                "context": {
                    "type": "string",
                    "description": "sync scope context",
                    "items": {
                        "type": "string"
                    }
                },
                "name": {
                    "type": "array",
                    "description": "sync scope name",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "l2Data": {
            "description": "Describes a single entry in the L2Data",
            "type": "object",
            "properties": {
                "shelf": {
                    "type": "string",
                    "description": "Shelf number"
                },
                "eqptGrp": {
                    "type": "string",
                    "description": "The group ID obtained from RTRV-EQPTGRP for the SAOS card on which the entity resides"
                },
                "loopbackAddresses": {
                    "type": "array",
                    "description": "The loopback addresses in the NE.",
                    "items": {
                        "type": "string"
                    }
                },
                "staticTunnelLabelRange": {
                    "description": "The operational static tunnel label range.",
                    "$ref": "#/definitions/range"
                },
                "dynamicLabelRange": {
                    "description": "The operational dynamic label range.",
                    "$ref": "#/definitions/range"
                },
                "staticVcLabelRange": {
                    "description": "The operational static VC label range.",
                    "$ref": "#/definitions/range"
                }
            }
        },
        "range": {
            "description": "Describes a Range attribute",
            "type": "object",
            "properties": {
                "minValue": {
                    "type": "integer",
                    "description": "This defines the min value for the range."
                },
                "maxValue": {
                    "type": "integer",
                    "description": "This defines the max value for the range."
                }
            }
        },
        "defaults": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "description": "Data for defaults of a policy."
                }
            }
        },
        "policy": {
            "type": "object",
            "required": [
                "policyName",
                "policyType"
            ],
            "properties": {
                "policyName": {
                    "type": "string",
                    "description": "Name of policy"
                },
                "policyType": {
                    "type": "string",
                    "description": "Type of policy"
                },
                "description": {
                    "type": "string",
                    "description": "Description of policy"
                },
                "customerName": {
                    "type": "string",
                    "description": "Customer notes"
                },
                "state": {
                    "type": "string",
                    "description": "State of policy. For example: New, Enable, Disable"
                },
                "policyId": {
                    "type": "string",
                    "description": "Id of policy"
                }
            }
        },
        "ipsubnet": {
            "type": "object",
            "required": [
                "shelfIP",
                "ospfArea"
            ],
            "properties": {
                "shelfIP": {
                    "type": "string",
                    "description": "Shelf IPv4 subnet with CIDR"
                },
                "ospfArea": {
                    "type": "string",
                    "description": "ospfArea of the Shelf"
                },
                "usage": {
                    "type": "string",
                    "description": "IPSubnet is allocated for shelf, craft"
                }
            }
        },
        "ipremoval": {
            "type": "object",
            "required": [
                "subnetId",
                "ospfArea"
            ],
            "properties": {
                "subnetId": {
                    "type": "string",
                    "description": "Subnet id"
                },
                "ospfArea": {
                    "type": "string",
                    "description": "ospfArea of the Shelf"
                }
            }
        },
        "subnetallocation": {
            "title": "IPSubnet",
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "attribute": {
                                "type": "object",
                                "properties": {
                                    "IP": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "ospfArea": {
                                        "type": "string"
                                    }
                                }
                            },
                            "type": {
                                "type": "string"
                            },
                            "id": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "subnet": {
            "title": "IPAddressSubnet",
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "properties": {
                                "ospfArea": {
                                    "type": "string"
                                },
                                "ospfAreaV3": {
                                    "type": "string"
                                },
                                "IP": {
                                    "type": "string"
                                },
                                "IP6": {
                                    "type": "string"
                                }
                            }
                        },
                        "type": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "session": {
            "type": "object",
            "properties": {
                "session_id": {
                    "type": "string",
                    "description": "The data associated with this request."
                }
            },
            "required": [
                "session_id"
            ]
        },
        "deployedShelfRemoval": {
            "type": "object",
            "required": [
                "tid",
                "shelfNumber"
            ],
            "properties": {
                "tid": {
                    "type": "string",
                    "description": "Target Identifier of the shelf"
                },
                "shelfNumber": {
                    "type": "string",
                    "description": "Shelf Number"
                }
            }
        },
        "deployedNetwork": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "ospfArea": {
                        "type": "string"
                    },
                    "projectId": {
                        "type": "string"
                    },
                    "projectName": {
                        "type": "string"
                    },
                    "shelfIP": {
                        "type": "string"
                    },
                    "shelfNumber": {
                        "type": "string"
                    },
                    "tid": {
                        "type": "string"
                    },
                    "usage": {
                        "type": "string"
                    }
                }
            }
        },
        "reservedIP": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "ospfArea": {
                        "type": "string"
                    },
                    "ospfAreaV3": {
                        "type": "string"
                    },
                    "projectId": {
                        "type": "string"
                    },
                    "projectName": {
                        "type": "string"
                    },
                    "IP": {
                        "type": "string"
                    },
                    "IP6": {
                        "type": "string"
                    },
                    "shelfNumber": {
                        "type": "string"
                    },
                    "tid": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    }
                }
            }
        },
        "ipaddressdata": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "ipaddress": {
                        "type": "string"
                    }
                }
            }
        },
        "projectDeploymentData": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "required": [
                        "projectName"
                    ],
                    "type": "object",
                    "properties": {
                        "projectName": {
                            "type": "string",
                            "decription": "Name of the project."
                        },
                        "nodes": {
                            "type": "array",
                            "description": "Deployment nodes data.",
                            "items": {
                                "type": "object",
                                "$ref": "#/definitions/DeploymentDataNodes"
                            }
                        }
                    }
                }
            }
        },
        "projectPostDeploymentResponseData": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "required": [
                        "projectName"
                    ],
                    "type": "object",
                    "properties": {
                        "projectName": {
                            "type": "string",
                            "decription": "Name of the project."
                        },
                        "nodes": {
                            "type": "array",
                            "description": "Deployment nodes data.",
                            "items": {
                                "type": "object",
                                "$ref": "#/definitions/DeploymentDataNodes"
                            }
                        },
                        "errors": {
                            "type": "array",
                            "description": "Error from NSI against an construct ID.",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "code": {
                                        "type": "string",
                                        "description": "Error code"
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "Error title"
                                    },
                                    "details": {
                                        "type": "string",
                                        "description": "Error details"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "PostDeploymentRequestData": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "required": [
                        "projectName"
                    ],
                    "type": "object",
                    "properties": {
                        "projectName": {
                            "type": "string",
                            "decription": "Name of the project."
                        },
                        "constructs": {
                            "type": "array",
                            "description": "Array of expectations to be updated",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "identifiers": {
                                        "type": "object",
                                        "description": "Network construct and expectation ids to be updated",
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type of network construct, shelf, networkElement, osrpNode"
                                            },
                                            "ncId": {
                                                "type": "string",
                                                "description": "Network construct id"
                                            },
                                            "ncExpectationId": {
                                                "type": "string",
                                                "description": "Network construct expectation id.What about multiple expectations for a NC?"
                                            }
                                        }
                                    },
                                    "attributes": {
                                        "type": "object",
                                        "description": "Attributes for the associated NC and expectation identifiers",
                                        "properties": {
                                            "userData": {
                                                "type": "object",
                                                "description": "Userdata for a network construct"
                                            },
                                            "ipaddress": {
                                                "type": "string",
                                                "decription": "DCN ip address of the shelf."
                                            },
                                            "name": {
                                                "type": "string",
                                                "decription": "Name of the network element."
                                            },
                                            "accessIdentifier": {
                                                "type": "string",
                                                "decription": "Access identifier."
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "DeploymentDataNodes": {
            "type": "object",
            "properties": {
                "function": {
                    "type": "string",
                    "description": "Function of the network element."
                },
                "name": {
                    "type": "string",
                    "description": "Network element name"
                },
                "ncExpID": {
                    "type": "string",
                    "description": "Network construct expectation ID of the NE in the NSI."
                },
                "version": {
                    "type": "string",
                    "description": "The version number of the NE."
                },
                "ncID": {
                    "type": "string",
                    "description": "Network construct ID of the NE in NSI."
                },
                "osrpNodeName": {
                    "type": "string",
                    "description": "OSRP node name of the network element."
                },
                "type": {
                    "type": "string",
                    "description": "Type of the network element."
                },
                "shelves": {
                    "type": "array",
                    "description": "shelves data in the network element.",
                    "items": {
                        "type": "object",
                        "properties": {
                            "ncExpID": {
                                "type": "string",
                                "description": "Network construct expectation ID of the shelf in the NSI."
                            },
                            "fic": {
                                "type": "string",
                                "description": "Frame identification code of the shelf."
                            },
                            "ospfarea": {
                                "type": "string",
                                "description": "OSPF area of the shelf."
                            },
                            "siteId": {
                                "type": "string",
                                "description": "site id of the shelf."
                            },
                            "ncID": {
                                "type": "string",
                                "description": "Network construct id of the shelf in NSI."
                            },
                            "shelfNumber": {
                                "type": "string",
                                "description": "Shelf number."
                            },
                            "shelfIPAddress": {
                                "type": "string",
                                "description": "IP address of the shelf."
                            },
                            "colanA": {
                                "type": "object",
                                "description": "colan A properties of the shelf.",
                                "properties": {
                                    "defaultGateway": {
                                        "type": "string",
                                        "description": "Default gateway of the shelf."
                                    },
                                    "override": {
                                        "type": "string",
                                        "description": "Override property of the shelf."
                                    },
                                    "usage": {
                                        "type": "string",
                                        "description": "Usage of the shelf."
                                    },
                                    "subnetMask": {
                                        "type": "string",
                                        "description": "Subnet mask of the shelf."
                                    },
                                    "ipAddress": {
                                        "type": "string",
                                        "description": "IP address of the colan A."
                                    },
                                    "topology": {
                                        "type": "string",
                                        "description": "Network topology of the shelf in the network."
                                    }
                                }
                            },
                            "colanX": {
                                "type": "object",
                                "description": "colan X properties of the shelf.",
                                "properties": {
                                    "defaultGateway": {
                                        "type": "string",
                                        "description": "Default gateway of the shelf."
                                    },
                                    "override": {
                                        "type": "string",
                                        "description": "Override property of the shelf."
                                    },
                                    "usage": {
                                        "type": "string",
                                        "description": "Usage of the shelf."
                                    },
                                    "subnetMask": {
                                        "type": "string",
                                        "description": "Subnet mask of the shelf."
                                    },
                                    "ipAddress": {
                                        "type": "string",
                                        "description": "IP address of the colan X."
                                    },
                                    "topology": {
                                        "type": "string",
                                        "description": "Network topology of the shelf in the network."
                                    }
                                }
                            },
                            "6500_in": {
                                "type": "object",
                                "description": "6500 IN properties of the shelf.",
                                "items": {
                                    "defaultGateway": {
                                        "type": "string",
                                        "description": "Default gateway of the shelf."
                                    },
                                    "subnetMask": {
                                        "type": "string",
                                        "description": "Subnet mask of the shelf."
                                    },
                                    "ipAddress": {
                                        "type": "string",
                                        "description": "IP address of the IN port."
                                    },
                                    "topology": {
                                        "type": "string",
                                        "description": "Network topology of the shelf in the network."
                                    }
                                }
                            },
                            "6500_out": {
                                "type": "object",
                                "description": "6500 OUT properties of the shelf.",
                                "items": {
                                    "defaultGateway": {
                                        "type": "string",
                                        "description": "Default gateway of the shelf."
                                    },
                                    "subnetMask": {
                                        "type": "string",
                                        "description": "Subnet mask of the shelf."
                                    },
                                    "ipAddress": {
                                        "type": "string",
                                        "description": "IP address of the OUT port."
                                    },
                                    "topology": {
                                        "type": "string",
                                        "description": "Network topology of the shelf in the network."
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "Attributes": {
            "type": "object"
        },
        "ConfigResourceData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/Attributes"
                }
            }
        },
        "ConfigResourceRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "List of ConfigResourceRequest Object ",
                    "items": {
                        "$ref": "#/definitions/ConfigResourceData"
                    }
                }
            }
        },
        "ConfigResourceResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "An array of ConfigResources",
                    "items": {
                        "$ref": "#/definitions/ConfigResourceData"
                    }
                }
            }
        },
        "AffectedService": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/InventoryInfo"
                },
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "AffectedServicesCounts": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/AffectedServicesCountsData"
                }
            }
        },
        "AffectedServicesCountsData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "type": "object",
                    "properties": {
                        "counts": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        }
                    }
                },
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "AffectedServicesCountsParams": {
            "type": "object",
            "properties": {
                "alarmIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "AffectedServicesData": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AffectedService"
                    }
                },
                "meta": {
                    "type": "object",
                    "properties": {
                        "count": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "AlarmAttributes": {
            "type": "object",
            "required": [
                "affected-inventory-ids"
            ],
            "properties": {
                "affected-inventory-ids": {
                    "description": "Inventory IDs affected by alarms",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "AlarmData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "description": "Information regarding the individual alarm",
                    "$ref": "#/definitions/AlarmAttributes"
                },
                "id": {
                    "description": "The unique identifier for the alarm",
                    "type": "string"
                },
                "type": {
                    "description": "The alarm type",
                    "type": "string"
                }
            }
        },
        "AlarmRelationship": {
            "type": "object",
            "required": [
                "name",
                "parent"
            ],
            "properties": {
                "name": {
                    "description": "The unique type for the referenced resource.",
                    "type": "string"
                },
                "parent": {
                    "description": "The parent inventory id of refrenced resource.",
                    "type": "string"
                }
            }
        },
        "BulkActionsNumber": {
            "type": "object",
            "properties": {
                "BulkActionsNumber": {
                    "description": "The bulk actions number for bulk load",
                    "type": "integer"
                }
            }
        },
        "BulkLoadWorkers": {
            "type": "object",
            "properties": {
                "BulkLoadWorkers": {
                    "description": "The number of bulk load workers",
                    "type": "integer"
                }
            }
        },
        "CorrelatedAlarmsData": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AlarmData"
                    }
                },
                "meta": {
                    "type": "object",
                    "properties": {
                        "count": {
                            "type": "string"
                        },
                        "total": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "FlushInterval": {
            "type": "object",
            "properties": {
                "FlushInterval": {
                    "description": "The flush interval for bulk load",
                    "type": "integer"
                }
            }
        },
        "InvRelationship": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "name": {
                    "description": "The unique type for the referenced resource.",
                    "type": "string"
                }
            }
        },
        "InventoryInfo": {
            "type": "object",
            "required": [
                "inventoryType"
            ],
            "properties": {
                "inventoryType": {
                    "description": "type of inventory",
                    "type": "string"
                }
            },
            "additionalProperties": {
                "type": "string"
            }
        },
        "InventoryRelationship": {
            "description": "This is typically what is received via a ChangeEvent from an Inventory system to inform this service on the graph tree against which events are correlated",
            "type": "object",
            "title": "Defines relationships properties and linkage between different inventory and services.",
            "properties": {
                "data": {
                    "$ref": "#/definitions/InventoryRelationshipData"
                }
            }
        },
        "InventoryRelationshipAttributes": {
            "type": "object",
            "required": [
                "inventoryInfo"
            ],
            "properties": {
                "inventoryInfo": {
                    "description": "Various information for this inventory object",
                    "$ref": "#/definitions/InventoryInfo"
                }
            }
        },
        "InventoryRelationshipData": {
            "type": "object",
            "required": [
                "id",
                "type",
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "description": "A qualifier for the relationship",
                    "$ref": "#/definitions/InventoryRelationshipAttributes"
                },
                "id": {
                    "description": "Id that uniquely identifies an inventory",
                    "type": "string"
                },
                "relationships": {
                    "description": "Relationship object in describing inventory relationship",
                    "type": "object",
                    "properties": {
                        "children": {
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/Relationship"
                                    }
                                }
                            }
                        },
                        "parent": {
                            "type": "object",
                            "properties": {
                                "data": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/Relationship"
                                    }
                                }
                            }
                        }
                    }
                },
                "type": {
                    "description": "The Inventory Relationship resource type",
                    "type": "string"
                }
            }
        },
        "LogLevel": {
            "type": "object",
            "properties": {
                "level": {
                    "description": "The log level [DEBUG,INFO,WARNING,ERROR,PANIC]",
                    "type": "string",
                    "enum": [
                        "DEBUG",
                        "INFO",
                        "WARNING",
                        "ERROR",
                        "PANIC"
                    ]
                }
            }
        },
        "Relationship": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier for the relationship (optional/ignored on calls to create)"
                },
                "relationshipTypeId": {
                    "type": "string",
                    "description": "URI of relationship type"
                },
                "properties": {
                    "description": "Relationship properties",
                    "$ref": "#/definitions/JObject"
                },
                "sourceId": {
                    "type": "string",
                    "description": "UUID of source resource"
                },
                "sourceResourceTypeId": {
                    "type": "string",
                    "description": "URI of source resource type"
                },
                "requirementName": {
                    "type": "string",
                    "description": "Requirement name in source resource"
                },
                "targetId": {
                    "type": "string",
                    "description": "UUID of target resource"
                },
                "targetResourceTypeId": {
                    "type": "string",
                    "description": "URI of target resource type"
                },
                "capabilityName": {
                    "type": "string",
                    "description": "Capability name in target resource"
                },
                "orchState": {
                    "type": "string",
                    "description": "Current state of the resource in the orchestrator",
                    "enum": [
                        "unknown",
                        "unspecified",
                        "requested",
                        "scheduled",
                        "promoting",
                        "assembling",
                        "assembled",
                        "activating",
                        "failed",
                        "active",
                        "inactive",
                        "terminating",
                        "terminated"
                    ]
                },
                "reason": {
                    "type": "string",
                    "description": "Reason for the orchestration state"
                },
                "providerData": {
                    "description": "Provider custom data",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "Information describing a single relationship"
        },
        "Credentials": {
            "description": "The credentials expected for BPI commands",
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "ip": {
                            "type": "string",
                            "description": "foo"
                        },
                        "username": {
                            "type": "string",
                            "description": "foo"
                        },
                        "password": {
                            "type": "string",
                            "description": "foo"
                        }
                    }
                }
            }
        },
        "AdditionalAttributesRO": {
            "type": "object"
        },
        "AggregationBucketRO": {
            "type": "object",
            "properties": {
                "bucketKey": {
                    "type": "string",
                    "description": "The key of the aggregation criteria"
                },
                "bucketValue": {
                    "type": "string",
                    "description": "The result of the aggregation"
                },
                "absoluteTotal": {
                    "type": "string",
                    "description": "The unfiltered total number of entities in the data"
                },
                "subAggregations": {
                    "description": "The aggregated data based on a requested aggregation name and criteria",
                    "$ref": "#/definitions/AggregationRO"
                }
            }
        },
        "AggregationRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the aggregation"
                },
                "buckets": {
                    "type": "array",
                    "description": "Aggregation results for different criteria",
                    "items": {
                        "$ref": "#/definitions/AggregationBucketRO"
                    }
                }
            }
        },
        "AttributeMatchingRuleRO": {
            "type": "object",
            "properties": {
                "matchingScope": {
                    "type": "string",
                    "enum": [
                        "e2e",
                        "local"
                    ]
                },
                "matchRequired": {
                    "type": "boolean",
                    "default": false
                },
                "impact": {
                    "type": "string",
                    "enum": [
                        "trafficImpactingWithNoMatch",
                        "noTrafficImpactWithNoMatch"
                    ]
                }
            }
        },
        "AttributeModificationRuleRO": {
            "type": "object",
            "properties": {
                "permittedOperation": {
                    "type": "string",
                    "enum": [
                        "writeAtCreationTime",
                        "readWrite",
                        "readOnly"
                    ]
                },
                "constraint": {
                    "type": "string",
                    "enum": [
                        "writeAtFarEnd"
                    ]
                }
            }
        },
        "AttributePoliciesRO": {
            "type": "object",
            "properties": {
                "defaultAttributeSourcePolicy": {
                    "type": "string",
                    "description": "Source of attribute.",
                    "enum": [
                        "plannedOverDiscovered",
                        "discoveredOverPlanned"
                    ]
                },
                "overrides": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AttributePolicyOverrideRO"
                    }
                }
            }
        },
        "AttributePolicyOverrideRO": {
            "type": "object",
            "properties": {
                "attributeName": {
                    "type": "string",
                    "description": "Attribute path(e.g. attribute.customerCode or relationship.endpoints)"
                },
                "policies": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "plannedOverDiscovered",
                            "discoveredOverPlanned"
                        ]
                    }
                },
                "attributeSource": {
                    "type": "string",
                    "description": "Attribute source, in case it has the value from some other references, (e.g. attributes.srlg is relationships.srlgs.id"
                }
            }
        },
        "AttributeSpecRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of attribute."
                },
                "transmode": {
                    "type": "string",
                    "description": "transmode of attribute."
                },
                "location": {
                    "type": "string",
                    "description": "Location of attribute, using dot notation e.g. attributes.layerTerminations[DSR].additionalAttributes."
                },
                "format": {
                    "type": "string",
                    "description": "Format of attribute."
                },
                "defaultValue": {
                    "type": "string",
                    "description": "Default value for attribute."
                },
                "modificationRules": {
                    "type": "array",
                    "description": "List of operations that are permitted on the attribute.",
                    "items": {
                        "$ref": "#/definitions/AttributeModificationRuleRO"
                    }
                },
                "displayRules": {
                    "type": "array",
                    "description": "Display rules applicable for the attribute.",
                    "items": {
                        "$ref": "#/definitions/DisplayRuleRO"
                    }
                },
                "valueOptions": {
                    "description": "Provides a means to specify the possible values for an attribute.",
                    "$ref": "#/definitions/AttributeValueOptionRO"
                },
                "matchingRules": {
                    "type": "array",
                    "description": "List of matching rules that apply to this attribute.",
                    "items": {
                        "$ref": "#/definitions/AttributeMatchingRuleRO"
                    }
                }
            }
        },
        "AttributeValueOptionRO": {
            "type": "object",
            "properties": {
                "selectFrom": {
                    "type": "array",
                    "description": "A comma separated list of the choices available for selection.",
                    "items": {
                        "type": "string"
                    }
                },
                "range": {
                    "type": "string",
                    "description": "A range of values in the format of '<from>,<to>,[step]' whereby from is the initial value, to is the end value, and an optional step value to indicate the increment."
                }
            }
        },
        "AttributesRO": {
            "type": "object",
            "properties": {
                "structured": {
                    "description": "Structured value of SRLG",
                    "$ref": "#/definitions/StructuredRO"
                },
                "opaque": {
                    "type": "string",
                    "description": "Opaque value of SRLG as per the current SRLG format"
                }
            }
        },
        "CapabilitySpecRO": {
            "type": "object",
            "properties": {
                "attributeSpecs": {
                    "type": "array",
                    "description": "List of attributes defined in the capability specification that can be acted upon.",
                    "items": {
                        "$ref": "#/definitions/AttributeSpecRO"
                    }
                }
            }
        },
        "DisplayLabelMapRO": {
            "type": "object"
        },
        "DisplayRuleRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of attribute."
                },
                "disabled": {
                    "type": "boolean",
                    "description": "Describes whether attribute is disabled or not.",
                    "default": false
                }
            }
        },
        "EquipmentAttributesRO": {
            "type": "object",
            "properties": {
                "displayData": {
                    "description": "The equipment display data",
                    "$ref": "#/definitions/EquipmentDisplayDataRO"
                },
                "suppressPort": {
                    "type": "boolean",
                    "description": "Value for alarm suppression",
                    "default": false
                },
                "userData": {
                    "description": "User data",
                    "$ref": "#/definitions/UserDataRO"
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "specificationMismatch": {
                    "type": "boolean",
                    "description": "Indicates if there's a mismatch between either the planned, installed, or provisioned specifications",
                    "default": false
                },
                "specificationMismatchStatus": {
                    "type": "string",
                    "description": "Indicates the status of a mismatch between either the planned, installed, or provisioned specifications"
                },
                "state": {
                    "type": "string",
                    "description": "The primary state of the equipment",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AU",
                        "OOS_MA",
                        "OOS_AUMA"
                    ]
                },
                "neContactState": {
                    "type": "string",
                    "description": "The connection status of a shelf",
                    "enum": [
                        "IN",
                        "OUT"
                    ]
                },
                "syncScopes": {
                    "type": "array",
                    "description": "The sync scope for the equipment",
                    "items": {
                        "$ref": "#/definitions/SyncScopeRO"
                    }
                },
                "capabilitySpecification": {
                    "description": "Defines a capability specification; normally for a TPE but can be utilized elsewhere in the future.",
                    "$ref": "#/definitions/CapabilitySpecRO"
                },
                "resourceState": {
                    "type": "string",
                    "description": "Nsi Resource State.",
                    "enum": [
                        "root",
                        "planned",
                        "discovered",
                        "plannedAndDiscovered",
                        "unknown"
                    ]
                },
                "policies": {
                    "description": "Policies for attributes.",
                    "$ref": "#/definitions/AttributePoliciesRO"
                },
                "locations": {
                    "type": "array",
                    "description": "The list of locations associated with the equipment",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "onus": {
                    "type": "array",
                    "description": "ONUs data.",
                    "items": {
                        "$ref": "#/definitions/OnuListRO"
                    }
                },
                "category": {
                    "type": "string",
                    "description": "The equipment category",
                    "enum": [
                        "rack",
                        "shelf",
                        "pluggable",
                        "standalone"
                    ]
                },
                "nativeName": {
                    "type": "string",
                    "description": "The native name of the equipment"
                },
                "provisionedSpec": {
                    "description": "An equipment specification. Is either an installed specification (physical representation) or a provisioned specification (logical representation) of an equipment",
                    "$ref": "#/definitions/EquipmentSpecRO"
                },
                "installedSpec": {
                    "description": "An equipment specification. Is either an installed specification (physical representation) or a provisioned specification (logical representation) of an equipment",
                    "$ref": "#/definitions/EquipmentSpecRO"
                },
                "secondaryState": {
                    "type": "string",
                    "description": "The secondary state of the equipment"
                },
                "availabilityState": {
                    "type": "string",
                    "description": "The availability state of the equipment",
                    "enum": [
                        "PLANNED",
                        "AVAILABLE",
                        "UNVALIDATED",
                        "INUSE"
                    ]
                },
                "reservationState": {
                    "type": "string",
                    "description": "The reservation state of the equipment",
                    "enum": [
                        "UNKNOWN",
                        "NOT_RESERVED",
                        "RESERVED_FOR_MAINTENANCE",
                        "RESERVED_FOR_FACILITY",
                        "RESERVED_FOR_REVERSION"
                    ]
                },
                "cardType": {
                    "type": "string",
                    "description": "The card type"
                },
                "cardMode": {
                    "type": "string",
                    "description": "Provides a means to differentiate different configurations of the card setup. For example, WLAi 400G OTR has several configuration options for 400G line service rate.",
                    "enum": [
                        "maxReach",
                        "maxCapacity",
                        "maxReach_Regen",
                        "maxCapacity_Regen",
                        "undetermined"
                    ]
                },
                "siteName": {
                    "type": "string",
                    "description": "The site name associated with the equipment"
                },
                "siteId": {
                    "type": "string",
                    "description": "The site identifier associated with the equipment"
                },
                "siteGroup": {
                    "type": "string",
                    "description": "The site group associated with the equipment"
                },
                "maintenanceMode": {
                    "type": "boolean",
                    "description": "Maintenance mode to indicate if the equipment is available or not to MCP. While in maintenance mode, MCP will not provision anything against this equipment (including TPE information)",
                    "default": false
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "validationState": {
                    "type": "string",
                    "description": "Validation state is used by RNC to denote that this equipment has either not been examined by RNC, or been examined by RNC and found to match (valid) or not match (invalid) customer expectations",
                    "enum": [
                        "UNSET",
                        "VALID",
                        "INVALID"
                    ]
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the associated NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "customerCode": {
                    "type": "string",
                    "description": "Customer code"
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "EquipmentDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the equipment resource"
                },
                "type": {
                    "type": "string",
                    "description": "The equipment resource type",
                    "enum": [
                        "equipment"
                    ]
                },
                "attributes": {
                    "description": "The equipment attributes",
                    "$ref": "#/definitions/EquipmentAttributesRO"
                },
                "relationships": {
                    "description": "The equipment relationships",
                    "$ref": "#/definitions/EquipmentRelationshipsRO"
                }
            }
        },
        "EquipmentDisplayDataRO": {
            "type": "object",
            "properties": {
                "displayName": {
                    "type": "string",
                    "description": "Display name of the equipment"
                },
                "displayNameFormat": {
                    "type": "string",
                    "description": "Format of the display name"
                },
                "displayAvailabilityState": {
                    "type": "string",
                    "description": "Display name of the equipment availability state",
                    "enum": [
                        "PLANNED",
                        "AVAILABLE",
                        "UNVALIDATED",
                        "IN_USE"
                    ]
                },
                "displayState": {
                    "type": "string",
                    "description": "Display state of the equipment",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AU",
                        "OOS_MA",
                        "OOS_AUMA"
                    ]
                }
            }
        },
        "EquipmentExpectationAttributesRO": {
            "type": "object",
            "properties": {
                "validateParameters": {
                    "description": "Attribute containing the list of parameters (if any) to be validated against the expectation",
                    "$ref": "#/definitions/ValidateParametersRO"
                },
                "startDate": {
                    "type": "string",
                    "description": "The scheduled start date and time of the expectation, with RFC 3339 date-time format"
                },
                "endDate": {
                    "type": "string",
                    "description": "The scheduled end date and time of the expectation, with RFC 3339 date-time format"
                },
                "policies": {
                    "type": "array",
                    "description": "Policies to be applied to the entity.",
                    "items": {
                        "type": "object"
                    }
                },
                "locations": {
                    "type": "array",
                    "description": "The list of locations associated with the equipment",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "onus": {
                    "type": "array",
                    "description": "ONUs data.",
                    "items": {
                        "$ref": "#/definitions/OnuListRO"
                    }
                },
                "category": {
                    "type": "string",
                    "description": "The equipment category",
                    "enum": [
                        "rack",
                        "shelf",
                        "pluggable",
                        "standalone"
                    ]
                },
                "nativeName": {
                    "type": "string",
                    "description": "The native name of the equipment"
                },
                "provisionedSpec": {
                    "description": "An equipment specification. Is either an installed specification (physical representation) or a provisioned specification (logical representation) of an equipment",
                    "$ref": "#/definitions/EquipmentSpecRO"
                },
                "installedSpec": {
                    "description": "An equipment specification. Is either an installed specification (physical representation) or a provisioned specification (logical representation) of an equipment",
                    "$ref": "#/definitions/EquipmentSpecRO"
                },
                "secondaryState": {
                    "type": "string",
                    "description": "The secondary state of the equipment"
                },
                "availabilityState": {
                    "type": "string",
                    "description": "The availability state of the equipment",
                    "enum": [
                        "PLANNED",
                        "AVAILABLE",
                        "UNVALIDATED",
                        "INUSE"
                    ]
                },
                "reservationState": {
                    "type": "string",
                    "description": "The reservation state of the equipment",
                    "enum": [
                        "UNKNOWN",
                        "NOT_RESERVED",
                        "RESERVED_FOR_MAINTENANCE",
                        "RESERVED_FOR_FACILITY",
                        "RESERVED_FOR_REVERSION"
                    ]
                },
                "cardType": {
                    "type": "string",
                    "description": "The card type"
                },
                "cardMode": {
                    "type": "string",
                    "description": "Provides a means to differentiate different configurations of the card setup. For example, WLAi 400G OTR has several configuration options for 400G line service rate.",
                    "enum": [
                        "maxReach",
                        "maxCapacity",
                        "maxReach_Regen",
                        "maxCapacity_Regen",
                        "undetermined"
                    ]
                },
                "siteName": {
                    "type": "string",
                    "description": "The site name associated with the equipment"
                },
                "siteId": {
                    "type": "string",
                    "description": "The site identifier associated with the equipment"
                },
                "siteGroup": {
                    "type": "string",
                    "description": "The site group associated with the equipment"
                },
                "maintenanceMode": {
                    "type": "boolean",
                    "description": "Maintenance mode to indicate if the equipment is available or not to MCP. While in maintenance mode, MCP will not provision anything against this equipment (including TPE information)",
                    "default": false
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "validationState": {
                    "type": "string",
                    "description": "Validation state is used by RNC to denote that this equipment has either not been examined by RNC, or been examined by RNC and found to match (valid) or not match (invalid) customer expectations",
                    "enum": [
                        "UNSET",
                        "VALID",
                        "INVALID"
                    ]
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the associated NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "customerCode": {
                    "type": "string",
                    "description": "Customer code"
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "EquipmentExpectationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the equipment expectation"
                },
                "type": {
                    "type": "string",
                    "description": "The equipment resource type",
                    "enum": [
                        "equipmentExpectations"
                    ]
                },
                "attributes": {
                    "description": "The equipment expectation attributes",
                    "$ref": "#/definitions/EquipmentExpectationAttributesRO"
                },
                "relationships": {
                    "description": "The equipment expectation relationships",
                    "$ref": "#/definitions/EquipmentExpectationRelationshipsRO"
                }
            }
        },
        "EquipmentExpectationListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "The list of equipment expectation",
                    "items": {
                        "$ref": "#/definitions/EquipmentExpectationDataRO"
                    }
                }
            }
        },
        "EquipmentExpectationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The equipment expectation data",
                    "$ref": "#/definitions/EquipmentExpectationDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "EquipmentExpectationRelationshipsRO": {
            "type": "object",
            "properties": {
                "equipmentIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "intent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentHolder": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "carrierEquipment": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "EquipmentListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "description": "A list of equipment",
                    "items": {
                        "$ref": "#/definitions/EquipmentDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to equipment, such as EquipmentExpectationData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "EquipmentPatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on an Equipment resource",
                    "enum": [
                        "srlgPatch",
                        "externalSrlgRemove"
                    ]
                },
                "srlgRelationships": {
                    "description": "Srlgs in planned relationships of NC/Equipment/Fres",
                    "$ref": "#/definitions/SrlgPatchDataRO"
                }
            }
        },
        "EquipmentPatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentPatchOperationRO"
                    }
                }
            }
        },
        "EquipmentPlannedAttributesRO": {
            "type": "object",
            "properties": {
                "locations": {
                    "type": "array",
                    "description": "The list of locations associated with the equipment",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "onus": {
                    "type": "array",
                    "description": "ONUs data.",
                    "items": {
                        "$ref": "#/definitions/OnuListRO"
                    }
                },
                "category": {
                    "type": "string",
                    "description": "The equipment category",
                    "enum": [
                        "rack",
                        "shelf",
                        "pluggable",
                        "standalone"
                    ]
                },
                "nativeName": {
                    "type": "string",
                    "description": "The native name of the equipment"
                },
                "provisionedSpec": {
                    "description": "An equipment specification. Is either an installed specification (physical representation) or a provisioned specification (logical representation) of an equipment",
                    "$ref": "#/definitions/EquipmentSpecRO"
                },
                "installedSpec": {
                    "description": "An equipment specification. Is either an installed specification (physical representation) or a provisioned specification (logical representation) of an equipment",
                    "$ref": "#/definitions/EquipmentSpecRO"
                },
                "secondaryState": {
                    "type": "string",
                    "description": "The secondary state of the equipment"
                },
                "availabilityState": {
                    "type": "string",
                    "description": "The availability state of the equipment",
                    "enum": [
                        "PLANNED",
                        "AVAILABLE",
                        "UNVALIDATED",
                        "INUSE"
                    ]
                },
                "reservationState": {
                    "type": "string",
                    "description": "The reservation state of the equipment",
                    "enum": [
                        "UNKNOWN",
                        "NOT_RESERVED",
                        "RESERVED_FOR_MAINTENANCE",
                        "RESERVED_FOR_FACILITY",
                        "RESERVED_FOR_REVERSION"
                    ]
                },
                "cardType": {
                    "type": "string",
                    "description": "The card type"
                },
                "cardMode": {
                    "type": "string",
                    "description": "Provides a means to differentiate different configurations of the card setup. For example, WLAi 400G OTR has several configuration options for 400G line service rate.",
                    "enum": [
                        "maxReach",
                        "maxCapacity",
                        "maxReach_Regen",
                        "maxCapacity_Regen",
                        "undetermined"
                    ]
                },
                "siteName": {
                    "type": "string",
                    "description": "The site name associated with the equipment"
                },
                "siteId": {
                    "type": "string",
                    "description": "The site identifier associated with the equipment"
                },
                "siteGroup": {
                    "type": "string",
                    "description": "The site group associated with the equipment"
                },
                "maintenanceMode": {
                    "type": "boolean",
                    "description": "Maintenance mode to indicate if the equipment is available or not to MCP. While in maintenance mode, MCP will not provision anything against this equipment (including TPE information)",
                    "default": false
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "validationState": {
                    "type": "string",
                    "description": "Validation state is used by RNC to denote that this equipment has either not been examined by RNC, or been examined by RNC and found to match (valid) or not match (invalid) customer expectations",
                    "enum": [
                        "UNSET",
                        "VALID",
                        "INVALID"
                    ]
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the associated NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "customerCode": {
                    "type": "string",
                    "description": "Customer code"
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "EquipmentPlannedDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the planned equipment"
                },
                "type": {
                    "type": "string",
                    "description": "The equipment resource type",
                    "enum": [
                        "equipmentPlanned"
                    ]
                },
                "attributes": {
                    "description": "The equipment planned attributes that are set by REST API and used to validate the expectation",
                    "$ref": "#/definitions/EquipmentPlannedAttributesRO"
                },
                "relationships": {
                    "description": "The equipment planned relationships",
                    "$ref": "#/definitions/EquipmentPlannedRelationshipsRO"
                }
            }
        },
        "EquipmentPlannedRO": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The equipment planned data",
                    "$ref": "#/definitions/EquipmentPlannedDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "EquipmentPlannedRelationshipsRO": {
            "type": "object",
            "properties": {
                "manualSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicAutoSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicInheritedSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicPropagatedSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentHolder": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "carrierEquipment": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "EquipmentRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "data": {
                    "description": "The equipment data",
                    "$ref": "#/definitions/EquipmentDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to equipment, such as EquipmentExpectationData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "EquipmentRelationshipsRO": {
            "type": "object",
            "properties": {
                "equipmentPlanned": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentExpectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "equipmentDiscovered": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "utilization": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentHolder": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "carrierEquipment": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "EquipmentSpecRO": {
            "type": "object",
            "properties": {
                "hardwareVersion": {
                    "type": "string",
                    "description": "The hardware version"
                },
                "serialNumber": {
                    "type": "string",
                    "description": "The serial number"
                },
                "manufacturer": {
                    "type": "string",
                    "description": "The manufacturer"
                },
                "type": {
                    "type": "string",
                    "description": "The type of equipment"
                },
                "modemType": {
                    "type": "string",
                    "description": "The type of modem"
                },
                "partNumber": {
                    "type": "string",
                    "description": "The part number"
                },
                "version": {
                    "type": "string",
                    "description": "The software version"
                },
                "displayLabels": {
                    "description": "Display label key/value pair map",
                    "$ref": "#/definitions/DisplayLabelMapRO"
                },
                "subtendingEquipment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SubtendingEquipmentDataRO"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "ErrorRO": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string",
                    "description": "Error code"
                },
                "title": {
                    "type": "string",
                    "description": "Error title"
                },
                "detail": {
                    "type": "string",
                    "description": "Error details"
                },
                "source": {
                    "description": "Error source",
                    "$ref": "#/definitions/ErrorSourceRO"
                }
            }
        },
        "ErrorSourceRO": {
            "type": "object",
            "properties": {
                "pointer": {
                    "type": "string",
                    "description": "JSON Pointer to the associated entity in the request document"
                },
                "parameter": {
                    "type": "string",
                    "description": "URI query parameter that caused the error"
                }
            }
        },
        "ErrorsRO": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "description": "A list of errors",
                    "items": {
                        "$ref": "#/definitions/ErrorRO"
                    }
                }
            }
        },
        "IdentifierRO": {
            "type": "object"
        },
        "LocationIndexesRO": {
            "type": "object"
        },
        "LocationRO": {
            "type": "object",
            "properties": {
                "managementType": {
                    "type": "string",
                    "enum": [
                        "tl1",
                        "saos",
                        "netconf",
                        "rest",
                        "corba",
                        "submarineConf"
                    ]
                },
                "fic": {
                    "type": "string"
                },
                "baynum": {
                    "type": "string"
                },
                "sncId": {
                    "type": "string"
                },
                "rack": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "subshelf": {
                    "type": "string"
                },
                "slot": {
                    "type": "string"
                },
                "subslot": {
                    "type": "string"
                },
                "subsubslot": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "subport": {
                    "type": "string"
                },
                "instance": {
                    "type": "string"
                },
                "logicalPortName": {
                    "type": "string"
                },
                "logicalId": {
                    "type": "string"
                },
                "channel": {
                    "type": "string"
                },
                "wavelength": {
                    "type": "string"
                },
                "index": {
                    "type": "string"
                },
                "odu2_index": {
                    "type": "string"
                },
                "odu4_index": {
                    "type": "string"
                },
                "oduCn_index": {
                    "type": "string"
                },
                "eth_index": {
                    "type": "string"
                },
                "vlan": {
                    "type": "string"
                },
                "vce": {
                    "type": "string"
                },
                "eqptGrp": {
                    "type": "string"
                },
                "peerAs": {
                    "type": "integer",
                    "format": "int64"
                },
                "peerIp": {
                    "type": "string"
                },
                "frequency": {
                    "type": "string"
                },
                "mcId": {
                    "type": "string"
                },
                "pseudoWireId": {
                    "type": "string"
                },
                "pseudoWireName": {
                    "type": "string"
                },
                "interfaceName": {
                    "type": "string"
                },
                "interfaceIp": {
                    "type": "string"
                },
                "primaryLspName": {
                    "type": "string"
                },
                "tunnelRole": {
                    "type": "string",
                    "enum": [
                        "headEnd",
                        "tailEnd",
                        "transit"
                    ]
                },
                "lspName": {
                    "type": "string"
                },
                "protectionRole": {
                    "type": "string",
                    "enum": [
                        "primary",
                        "backup"
                    ]
                },
                "mplsLabel": {
                    "type": "string"
                },
                "lagName": {
                    "type": "string"
                },
                "mgmtMcId": {
                    "type": "string"
                },
                "nmcId": {
                    "type": "string"
                },
                "mgmtNmcId": {
                    "type": "string"
                },
                "neName": {
                    "type": "string"
                },
                "locationIndex": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationIndexesRO"
                    }
                },
                "srcIp": {
                    "type": "string"
                },
                "destIp": {
                    "type": "string"
                },
                "leg": {
                    "type": "string",
                    "enum": [
                        "trunk",
                        "a1",
                        "a2"
                    ]
                },
                "fiberPairTermination": {
                    "type": "string"
                },
                "direction": {
                    "type": "string",
                    "enum": [
                        "tx",
                        "rx"
                    ]
                },
                "iclName": {
                    "type": "string"
                },
                "virtualRingName": {
                    "type": "string"
                },
                "ringId": {
                    "type": "string"
                },
                "rapsVid": {
                    "type": "string"
                },
                "flexePortName": {
                    "type": "string"
                },
                "flexeGroupName": {
                    "type": "string"
                }
            }
        },
        "MetaDataRO": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The total number of entities in the data"
                },
                "absoluteTotal": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The unfiltered total number of entities in the data"
                },
                "aggregations": {
                    "type": "array",
                    "description": "The aggregated data based on a requested aggregation name and criteria",
                    "items": {
                        "$ref": "#/definitions/AggregationRO"
                    }
                },
                "missingReferences": {
                    "type": "boolean",
                    "description": "boolean detailing if the GET FRE tree has any missing references",
                    "default": false
                },
                "missingReferenceIds": {
                    "type": "array",
                    "description": "The list of missing resource IDs",
                    "items": {
                        "$ref": "#/definitions/RelationshipDataRO"
                    }
                },
                "filtered": {
                    "type": "boolean",
                    "description": "Flags whether the current object is filtered using `fields` query param or not",
                    "default": false
                }
            }
        },
        "OnuListRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the ONU."
                },
                "onuId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "ONU Id as assigned by the OLT."
                },
                "mode": {
                    "type": "string",
                    "description": "Operating Mode of ONU"
                },
                "modelNumber": {
                    "type": "string",
                    "description": "Model number of  ONU."
                },
                "serialNumber": {
                    "type": "string",
                    "description": "Serial number of the discovered ONU."
                },
                "dataLink": {
                    "type": "string",
                    "description": "Name of the datalink."
                },
                "operState": {
                    "type": "string",
                    "description": "Operational state of the ONU.",
                    "enum": [
                        "registered",
                        "configured",
                        "deregistered",
                        "unknown"
                    ]
                },
                "deregisterReason": {
                    "type": "string",
                    "description": "Reason for the last ONU deregistration."
                },
                "firmwareVersion": {
                    "type": "string",
                    "description": "Version of the firmware running on  OLT."
                },
                "standbyFirmwareVersion": {
                    "type": "string",
                    "description": "Version of the firmware in the standby bank on  OLT."
                },
                "expectedFirmwareVersion": {
                    "type": "string",
                    "description": "Expected Firmware Version"
                },
                "firmwareStatus": {
                    "type": "string",
                    "description": "Status of the firmware running on  OLT."
                },
                "firmwareUpgradeProgress": {
                    "type": "string",
                    "description": "Percentage completion of the ONU firmware upgrade operation"
                },
                "firmwareUpgradeFailReason": {
                    "type": "string",
                    "description": "reason for the last ONU firmware upgrade failure"
                },
                "onuDataLinks": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of Datalinks under  ONU."
                },
                "uniPorts": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of UNI ports on  ONU."
                }
            }
        },
        "RelationshipMetaDataRO": {
            "type": "object",
            "properties": {
                "partiallyPopulated": {
                    "type": "boolean",
                    "description": "Flags whether the included relationship object is partially populated or not",
                    "default": false
                }
            }
        },
        "ResourceMetaDataRO": {
            "type": "object",
            "properties": {
                "partiallyPopulated": {
                    "type": "boolean",
                    "description": "Flags whether the current object is partially populated or not",
                    "default": false
                }
            }
        },
        "SRLGDataListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "Detailed SRLG",
                    "items": {
                        "$ref": "#/definitions/SRLGDataRO"
                    }
                }
            }
        },
        "SRLGDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The identifier value of the SRLG. It's same as the native value of structured srlg attributes"
                },
                "type": {
                    "type": "string",
                    "description": "The SRLG Attribute type",
                    "enum": [
                        "srlg",
                        "shareSrlg"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/AttributesRO"
                }
            }
        },
        "SrlgPatchDataRO": {
            "type": "object",
            "properties": {
                "srlg": {
                    "description": "The SRLGone-to-many relationship",
                    "$ref": "#/definitions/SRLGDataListRO"
                },
                "dynamicAutoSRLG": {
                    "description": "The SRLGone-to-many relationship",
                    "$ref": "#/definitions/SRLGDataListRO"
                },
                "manualSRLG": {
                    "description": "The SRLGone-to-many relationship",
                    "$ref": "#/definitions/SRLGDataListRO"
                },
                "dynamicPropagatedSRLG": {
                    "description": "The SRLGone-to-many relationship",
                    "$ref": "#/definitions/SRLGDataListRO"
                },
                "shareSrlg": {
                    "description": "The SRLGone-to-many relationship",
                    "$ref": "#/definitions/SRLGDataListRO"
                },
                "manualShareSRLG": {
                    "description": "The SRLGone-to-many relationship",
                    "$ref": "#/definitions/SRLGDataListRO"
                },
                "dynamicPropagatedShareSRLG": {
                    "description": "The SRLGone-to-many relationship",
                    "$ref": "#/definitions/SRLGDataListRO"
                },
                "srlgPatchTime": {
                    "type": "string",
                    "description": "The time stamp of the patch operation. The date format is YYYY-MM-DDTHH:MM:SS.SSSZ"
                }
            }
        },
        "StructuredRO": {
            "type": "object"
        },
        "SubtendingEquipmentDataRO": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "SyncScopeRO": {
            "type": "object",
            "properties": {
                "context": {
                    "type": "string",
                    "description": "The synchronization scope context"
                },
                "name": {
                    "type": "array",
                    "description": "The synchronization scope name",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "UserDataRO": {
            "type": "object"
        },
        "ValidateParametersRO": {
            "type": "object",
            "properties": {
                "include": {
                    "type": "string",
                    "description": "The list of comma separated parameters (if any) to be validated against the expectation"
                }
            }
        },
        "Common.ErrorSource": {
            "type": "object",
            "properties": {
                "pointer": {
                    "type": "string"
                },
                "parameter": {
                    "type": "string"
                }
            }
        },
        "Common.Error": {
            "type": "object",
            "properties": {
                "code": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "detail": {
                    "type": "string"
                },
                "source": {
                    "$ref": "#/definitions/Common.ErrorSource"
                }
            }
        },
        "AutoSlat.NodeFunction": {
            "required": [
                "nodeType"
            ],
            "type": "object",
            "properties": {
                "nodeType": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Aid": {
            "type": "object",
            "properties": {
                "node": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "slot": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "subPort": {
                    "type": "string"
                },
                "partnerSubPort": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Link": {
            "required": [
                "name"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "linkType": {
                    "type": "string"
                },
                "fiberType": {
                    "type": "string"
                },
                "rx": {
                    "$ref": "#/definitions/AutoSlat.Aid"
                },
                "tx": {
                    "$ref": "#/definitions/AutoSlat.Aid"
                },
                "repairMargin": {
                    "type": "string"
                },
                "egressFiberType": {
                    "type": "string"
                },
                "ingressPPL": {
                    "type": "string"
                },
                "egressPPL": {
                    "type": "string"
                },
                "insertionLoss": {
                    "type": "string"
                },
                "planningStatus": {
                    "type": "string"
                },
                "expectedFiberLength": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.ConnectionValidation": {
            "required": [
                "name"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "rx": {
                    "$ref": "#/definitions/AutoSlat.Aid"
                },
                "tx": {
                    "$ref": "#/definitions/AutoSlat.Aid"
                }
            }
        },
        "AutoSlat.Pfib": {
            "required": [
                "band"
            ],
            "type": "object",
            "properties": {
                "band": {
                    "type": "string"
                },
                "raman": {
                    "type": "string"
                },
                "pfib_a": {
                    "type": "string"
                },
                "pfib_b": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.FiberProfile": {
            "required": [
                "fiberType",
                "profileType"
            ],
            "type": "object",
            "properties": {
                "attenuation": {
                    "type": "string"
                },
                "dispersion": {
                    "type": "string"
                },
                "effectiveArea": {
                    "type": "string"
                },
                "profileType": {
                    "type": "string"
                },
                "fiberType": {
                    "type": "string"
                },
                "pfib": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Pfib"
                    }
                }
            }
        },
        "AutoSlat.OTDR": {
            "required": [
                "port",
                "slot"
            ],
            "type": "object",
            "properties": {
                "slot": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "lossThresholdAll": {
                    "type": "string"
                },
                "lossThresholdSingle": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.ShelfIP": {
            "required": [
                "shelfIPV4",
                "shelfNetMaskV4",
                "shelfOSPFV2Area"
            ],
            "type": "object",
            "properties": {
                "shelfOSPFV2Area": {
                    "type": "string"
                },
                "shelfIPV4": {
                    "type": "string"
                },
                "shelfNetMaskV4": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Optmon": {
            "required": [
                "portNumber",
                "primaryState",
                "secondaryStatesAutoInServiceState"
            ],
            "type": "object",
            "properties": {
                "portNumber": {
                    "type": "string"
                },
                "primaryState": {
                    "type": "string"
                },
                "secondaryStatesAutoInServiceState": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Line": {
            "required": [
                "fiberType",
                "spanLossMargin",
                "spanLossTarget"
            ],
            "type": "object",
            "properties": {
                "spanLossTarget": {
                    "type": "string"
                },
                "spanLossMargin": {
                    "type": "string"
                },
                "fiberType": {
                    "type": "string"
                },
                "oscPfib": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Adjacency": {
            "required": [
                "adjBay",
                "adjOts",
                "adjPhysicalShelf",
                "adjPort",
                "adjShelf",
                "adjSlot",
                "adjTid",
                "aidType",
                "excessLoss",
                "farEndAddressForm",
                "mode",
                "portNumber",
                "type"
            ],
            "type": "object",
            "properties": {
                "adjShelf": {
                    "type": "string"
                },
                "adjSlot": {
                    "type": "string"
                },
                "farEndAddressForm": {
                    "type": "string"
                },
                "adjBay": {
                    "type": "string"
                },
                "adjPort": {
                    "type": "string"
                },
                "adjOts": {
                    "type": "string"
                },
                "portNumber": {
                    "type": "string"
                },
                "mode": {
                    "type": "string"
                },
                "adjPhysicalShelf": {
                    "type": "string"
                },
                "line": {
                    "$ref": "#/definitions/AutoSlat.Line"
                },
                "adjTid": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "aidType": {
                    "type": "string"
                },
                "excessLoss": {
                    "type": "string"
                },
                "clfi": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Ptp": {
            "required": [
                "aidType",
                "id",
                "linkOptMode",
                "role"
            ],
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "role": {
                    "type": "string"
                },
                "linkOptMode": {
                    "type": "string"
                },
                "aidType": {
                    "type": "string"
                },
                "modemClass": {
                    "type": "string"
                },
                "reachClass": {
                    "type": "string"
                },
                "transMode": {
                    "type": "string"
                },
                "serviceType": {
                    "type": "string"
                },
                "farEndTp": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Xcvr": {
            "required": [
                "frequency",
                "mode",
                "portNumber",
                "portType",
                "spli"
            ],
            "type": "object",
            "properties": {
                "portNumber": {
                    "type": "string"
                },
                "mode": {
                    "type": "string"
                },
                "frequency": {
                    "type": "string"
                },
                "spli": {
                    "type": "string"
                },
                "portType": {
                    "type": "string"
                },
                "ptp": {
                    "$ref": "#/definitions/AutoSlat.Ptp"
                }
            }
        },
        "AutoSlat.AmpFacility": {
            "required": [
                "aidType",
                "ampPeakMode",
                "controlMode",
                "dropLimTargetGain",
                "forcedShutOff",
                "gainMode",
                "gainOffset",
                "inputLoss",
                "inputLosThreshold",
                "outputLoss",
                "outputLosThreshold",
                "peakPowerControlState",
                "portNumber",
                "refBw",
                "shutoffThreshold",
                "targetGain",
                "targetGainTilt",
                "targetPeakPower",
                "targetTotalPower",
                "topOffset"
            ],
            "type": "object",
            "properties": {
                "outputLosThreshold": {
                    "type": "string"
                },
                "dropLimTargetGain": {
                    "type": "string"
                },
                "ampPeakMode": {
                    "type": "string"
                },
                "controlMode": {
                    "type": "string"
                },
                "inputLoss": {
                    "type": "string"
                },
                "gainMode": {
                    "type": "string"
                },
                "outputLoss": {
                    "type": "string"
                },
                "inputLosThreshold": {
                    "type": "string"
                },
                "aidType": {
                    "type": "string"
                },
                "topOffset": {
                    "type": "string"
                },
                "portNumber": {
                    "type": "string"
                },
                "targetTotalPower": {
                    "type": "string"
                },
                "gainOffset": {
                    "type": "string"
                },
                "forcedShutOff": {
                    "type": "string"
                },
                "targetPeakPower": {
                    "type": "string"
                },
                "peakPowerControlState": {
                    "type": "string"
                },
                "targetGain": {
                    "type": "string"
                },
                "targetGainTilt": {
                    "type": "string"
                },
                "shutoffThreshold": {
                    "type": "string"
                },
                "refBw": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.CraftIP": {
            "required": [
                "craftIPV4"
            ],
            "type": "object",
            "properties": {
                "craftIPV4": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.VoaFacility": {
            "required": [
                "aidType",
                "averageTargetPower",
                "lossThreshold",
                "portNumber",
                "targetLoss",
                "targetPad",
                "targetPeakPower",
                "targetPower",
                "voaControlMode",
                "voaResetRequired"
            ],
            "type": "object",
            "properties": {
                "aidType": {
                    "type": "string"
                },
                "averageTargetPower": {
                    "type": "string"
                },
                "lossThreshold": {
                    "type": "string"
                },
                "portNumber": {
                    "type": "string"
                },
                "targetLoss": {
                    "type": "string"
                },
                "targetPad": {
                    "type": "string"
                },
                "targetPower": {
                    "type": "string"
                },
                "targetPeakPower": {
                    "type": "string"
                },
                "voaControlMode": {
                    "type": "string"
                },
                "voaResetRequired": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.RamanFacility": {
            "type": "object",
            "properties": {
                "gainMode": {
                    "type": "string"
                },
                "aidType": {
                    "type": "string"
                },
                "portNumber": {
                    "type": "string"
                },
                "targetGain": {
                    "type": "string"
                },
                "totalPumpPower": {
                    "type": "string"
                },
                "fiberType": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Otuttp": {
            "required": [
                "aidType",
                "id",
                "rate"
            ],
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "aidType": {
                    "type": "string"
                },
                "rate": {
                    "type": "string"
                },
                "numts": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Oductp": {
            "required": [
                "id"
            ],
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "tsAssignment": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Oduttp": {
            "required": [
                "aidType",
                "id"
            ],
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "aidType": {
                    "type": "string"
                },
                "oductp": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Oductp"
                    }
                }
            }
        },
        "AutoSlat.Equipment": {
            "required": [
                "aidType",
                "pec",
                "slotNumber"
            ],
            "type": "object",
            "properties": {
                "optmon": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Optmon"
                    }
                },
                "slotNumber": {
                    "type": "string"
                },
                "adjacency": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Adjacency"
                    }
                },
                "equipment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Equipment"
                    }
                },
                "xcvr": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Xcvr"
                    }
                },
                "ampFacility": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.AmpFacility"
                    }
                },
                "ots": {
                    "type": "string"
                },
                "craftIP": {
                    "$ref": "#/definitions/AutoSlat.CraftIP"
                },
                "aidType": {
                    "type": "string"
                },
                "pec": {
                    "type": "string"
                },
                "isSpare": {
                    "type": "string"
                },
                "planningStatus": {
                    "type": "string"
                },
                "voaFacility": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.VoaFacility"
                    }
                },
                "ramanFacility": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.RamanFacility"
                    }
                },
                "refRxTxType": {
                    "type": "string"
                },
                "ptp": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Ptp"
                    }
                },
                "otuttp": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Otuttp"
                    }
                },
                "oduttp": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Oduttp"
                    }
                },
                "oscProvProfile": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Gne": {
            "required": [
                "gneIPSubnet",
                "gneIPSubnetMask",
                "gneOSPFArea"
            ],
            "type": "object",
            "properties": {
                "gneIPSubnet": {
                    "type": "string"
                },
                "gneOSPFArea": {
                    "type": "string"
                },
                "gneIPSubnetMask": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.DocModClassFacility": {
            "required": [
                "aidType",
                "modClassBias100G",
                "modClassBias100GWL3",
                "modClassBias100GWL316QAM",
                "modClassBias100GWL34ASK",
                "modClassBias100GWL38QAM",
                "modClassBias100GWLBPSK3",
                "modClassBias10G",
                "modClassBias10GNGM",
                "modClassBias2G5",
                "modClassBias35GBaud100G",
                "modClassBias35GBaud150G",
                "modClassBias35GBaud200G",
                "modClassBias35GBaud250G",
                "modClassBias40G",
                "modClassBias40GULH",
                "modClassBias56GBaud100G",
                "modClassBias56GBaud150G",
                "modClassBias56GBaud200G",
                "modClassBias56GBaud250G",
                "modClassBias56GBaud300G",
                "modClassBias56GBaud350G",
                "modClassBias56GBaud400G",
                "modClassBiasCfp2Dco28GBaud100G",
                "modClassBiasCfp2Dco32GBaud100G",
                "modClassBiasCfp2Dco32GBaud200G",
                "modClassBiasCustom1",
                "modClassBiasCustom2",
                "modClassBiasCustom3",
                "modClassBiasCustom4",
                "modClassBiasCustom5",
                "modClassBiasCustom6",
                "modClassBiasWL5eGeneral"
            ],
            "type": "object",
            "properties": {
                "aidType": {
                    "type": "string"
                },
                "modClassBias100G": {
                    "type": "string"
                },
                "modClassBias100GWL3": {
                    "type": "string"
                },
                "modClassBias100GWL316QAM": {
                    "type": "string"
                },
                "modClassBias100GWL34ASK": {
                    "type": "string"
                },
                "modClassBias100GWL38QAM": {
                    "type": "string"
                },
                "modClassBias100GWLBPSK3": {
                    "type": "string"
                },
                "modClassBias10G": {
                    "type": "string"
                },
                "modClassBias10GNGM": {
                    "type": "string"
                },
                "modClassBias2G5": {
                    "type": "string"
                },
                "modClassBias35GBaud100G": {
                    "type": "string"
                },
                "modClassBias35GBaud150G": {
                    "type": "string"
                },
                "modClassBias35GBaud200G": {
                    "type": "string"
                },
                "modClassBias35GBaud250G": {
                    "type": "string"
                },
                "modClassBias40G": {
                    "type": "string"
                },
                "modClassBias40GULH": {
                    "type": "string"
                },
                "modClassBias56GBaud100G": {
                    "type": "string"
                },
                "modClassBias56GBaud150G": {
                    "type": "string"
                },
                "modClassBias56GBaud200G": {
                    "type": "string"
                },
                "modClassBias56GBaud250G": {
                    "type": "string"
                },
                "modClassBias56GBaud300G": {
                    "type": "string"
                },
                "modClassBias56GBaud350G": {
                    "type": "string"
                },
                "modClassBias56GBaud400G": {
                    "type": "string"
                },
                "modClassBiasCfp2Dco28GBaud100G": {
                    "type": "string"
                },
                "modClassBiasCfp2Dco32GBaud100G": {
                    "type": "string"
                },
                "modClassBiasCfp2Dco32GBaud200G": {
                    "type": "string"
                },
                "modClassBiasCustom1": {
                    "type": "string"
                },
                "modClassBiasCustom2": {
                    "type": "string"
                },
                "modClassBiasCustom3": {
                    "type": "string"
                },
                "modClassBiasCustom4": {
                    "type": "string"
                },
                "modClassBiasCustom5": {
                    "type": "string"
                },
                "modClassBiasCustom6": {
                    "type": "string"
                },
                "modClassBiasWL5eGeneral": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.OTS": {
            "required": [
                "ampMate",
                "autoRoute",
                "bmdSlot",
                "casLimSlot",
                "cfgType",
                "cmd1Slot",
                "cmd2Slot",
                "cmd3Slot",
                "cmd4Slot",
                "cmd5Slot",
                "cmd6Slot",
                "cmd7Slot",
                "cmd8Slot",
                "cmd9Slot",
                "csInd",
                "derived",
                "dropLimSlot",
                "dscm1Slot",
                "dscm2Slot",
                "dscm3Slot",
                "dscm4Slot",
                "dwid",
                "isDocSite",
                "limSlot",
                "minMuxPout",
                "oscSlotPort",
                "osid",
                "otsInstance",
                "planningStatus",
                "provAssociatedOts",
                "provControlMode",
                "refBw",
                "smdSlot",
                "subnetName",
                "subType",
                "txPath",
                "wssSlot"
            ],
            "type": "object",
            "properties": {
                "minMuxPout": {
                    "type": "string"
                },
                "docModClassFacility": {
                    "$ref": "#/definitions/AutoSlat.DocModClassFacility"
                },
                "cmd8Slot": {
                    "type": "string"
                },
                "cfgType": {
                    "type": "string"
                },
                "cmd9Slot": {
                    "type": "string"
                },
                "dscm2Slot": {
                    "type": "string"
                },
                "limSlot": {
                    "type": "string"
                },
                "dscm1Slot": {
                    "type": "string"
                },
                "cmd7Slot": {
                    "type": "string"
                },
                "dscm4Slot": {
                    "type": "string"
                },
                "cmd5Slot": {
                    "type": "string"
                },
                "ampMate": {
                    "type": "string"
                },
                "dwid": {
                    "type": "string"
                },
                "oscSlotPort": {
                    "type": "string"
                },
                "derived": {
                    "type": "string"
                },
                "csInd": {
                    "type": "string"
                },
                "subType": {
                    "type": "string"
                },
                "cmd6Slot": {
                    "type": "string"
                },
                "cmd2Slot": {
                    "type": "string"
                },
                "cmd4Slot": {
                    "type": "string"
                },
                "cmd1Slot": {
                    "type": "string"
                },
                "bmdSlot": {
                    "type": "string"
                },
                "dropLimSlot": {
                    "type": "string"
                },
                "autoRoute": {
                    "type": "string"
                },
                "cmd3Slot": {
                    "type": "string"
                },
                "casLimSlot": {
                    "type": "string"
                },
                "osid": {
                    "type": "string"
                },
                "otsInstance": {
                    "type": "string"
                },
                "dscm3Slot": {
                    "type": "string"
                },
                "wssSlot": {
                    "type": "string"
                },
                "txPath": {
                    "type": "string"
                },
                "smdSlot": {
                    "type": "string"
                },
                "provAssociatedOts": {
                    "type": "string"
                },
                "isDocSite": {
                    "type": "string"
                },
                "planningStatus": {
                    "type": "string"
                },
                "provControlMode": {
                    "type": "string"
                },
                "refBw": {
                    "type": "string"
                },
                "subnetName": {
                    "type": "string"
                },
                "cps": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.DCnComms": {
            "required": [
                "dcnDefaultGatewayV4",
                "dcnIPV4",
                "dcnNetMaskV4",
                "port",
                "shelf",
                "slot",
                "staticRtIPV4"
            ],
            "type": "object",
            "properties": {
                "slot": {
                    "type": "string"
                },
                "dcnIPV4": {
                    "type": "string"
                },
                "dcnNetMaskV4": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "dcnDefaultGatewayV4": {
                    "type": "string"
                },
                "staticRtIPV4": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.ShelfAttrs": {
            "required": [
                "bayNumber",
                "csControl",
                "frameIdentificationCode",
                "function",
                "logicalShelfNumber",
                "neMode",
                "physicalShelfNumber",
                "planningStatus",
                "primaryShelf",
                "provShelfPowerLimit",
                "shelfType",
                "siteGroup",
                "tidConsolidationEnabled"
            ],
            "type": "object",
            "properties": {
                "function": {
                    "type": "string"
                },
                "provShelfPowerLimit": {
                    "type": "string"
                },
                "physicalShelfNumber": {
                    "type": "string"
                },
                "logicalShelfNumber": {
                    "type": "string"
                },
                "shelfType": {
                    "type": "string"
                },
                "siteGroup": {
                    "type": "string"
                },
                "csControl": {
                    "type": "string"
                },
                "primaryShelf": {
                    "type": "string"
                },
                "tidConsolidationEnabled": {
                    "type": "string"
                },
                "neMode": {
                    "type": "string"
                },
                "frameIdentificationCode": {
                    "type": "string"
                },
                "bayNumber": {
                    "type": "string"
                },
                "planningStatus": {
                    "type": "string"
                },
                "groupId": {
                    "type": "string"
                },
                "siteId": {
                    "type": "string"
                },
                "siteName": {
                    "type": "string"
                },
                "groupName": {
                    "type": "string"
                },
                "memberId": {
                    "type": "string"
                },
                "memberName": {
                    "type": "string"
                },
                "hostName": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Card": {
            "required": [
                "shelf",
                "slot",
                "subSlot"
            ],
            "type": "object",
            "properties": {
                "slot": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "subSlot": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.AddSequence": {
            "required": [
                "card"
            ],
            "type": "object",
            "properties": {
                "card": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Card"
                    }
                }
            }
        },
        "AutoSlat.DropSequence": {
            "required": [
                "card"
            ],
            "type": "object",
            "properties": {
                "card": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Card"
                    }
                }
            }
        },
        "AutoSlat.SlotSequence": {
            "required": [
                "addSequence",
                "anchorPort",
                "anchorSlot",
                "dropSequence",
                "id",
                "ots"
            ],
            "type": "object",
            "properties": {
                "anchorPort": {
                    "type": "string"
                },
                "anchorSlot": {
                    "type": "string"
                },
                "addSequence": {
                    "$ref": "#/definitions/AutoSlat.AddSequence"
                },
                "ots": {
                    "type": "string"
                },
                "dropSequence": {
                    "$ref": "#/definitions/AutoSlat.DropSequence"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.PfgNeighbor": {
            "required": [
                "name"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "node": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.PfgAttr": {
            "required": [
                "name"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.PfgConfig": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "dgff": {
                    "type": "string"
                },
                "attr": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.PfgAttr"
                    }
                }
            }
        },
        "AutoSlat.PfgObject": {
            "required": [
                "role"
            ],
            "type": "object",
            "properties": {
                "role": {
                    "type": "string"
                },
                "slot": {
                    "type": "string"
                },
                "config": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.PfgConfig"
                    }
                }
            }
        },
        "AutoSlat.PfgFrequency": {
            "required": [
                "role"
            ],
            "type": "object",
            "properties": {
                "role": {
                    "type": "string"
                },
                "minFreq": {
                    "type": "string"
                },
                "maxFreq": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Pfg": {
            "required": [
                "name",
                "type"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "lineIn": {
                    "type": "string"
                },
                "lineInPort": {
                    "type": "string"
                },
                "lineInOsc": {
                    "type": "string"
                },
                "lineInOscPort": {
                    "type": "string"
                },
                "lineOut": {
                    "type": "string"
                },
                "lineOutPort": {
                    "type": "string"
                },
                "lineOutOsc": {
                    "type": "string"
                },
                "lineOutOscPort": {
                    "type": "string"
                },
                "partnerPfg": {
                    "type": "string"
                },
                "neighborPfg": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.PfgNeighbor"
                    }
                },
                "amp": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.PfgObject"
                    }
                },
                "wss": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.PfgObject"
                    }
                },
                "voa": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.PfgObject"
                    }
                },
                "dgff": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.PfgObject"
                    }
                },
                "oscPfib": {
                    "type": "string"
                },
                "oscTxPower": {
                    "type": "string"
                },
                "frequency": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.PfgFrequency"
                    }
                },
                "planningStatus": {
                    "type": "string"
                },
                "commonIn": {
                    "type": "string"
                },
                "commonInPort": {
                    "type": "string"
                },
                "commonOut": {
                    "type": "string"
                },
                "commonOutPort": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.LicenseObject": {
            "type": "object",
            "properties": {
                "feature": {
                    "type": "string"
                },
                "enabled": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Shelf": {
            "required": [
                "equipment",
                "shelfAttrs",
                "shelfIP"
            ],
            "type": "object",
            "properties": {
                "shelfIP": {
                    "$ref": "#/definitions/AutoSlat.ShelfIP"
                },
                "equipment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Equipment"
                    }
                },
                "gne": {
                    "$ref": "#/definitions/AutoSlat.Gne"
                },
                "ots": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.OTS"
                    }
                },
                "dcnComms": {
                    "$ref": "#/definitions/AutoSlat.DCnComms"
                },
                "shelfAttrs": {
                    "$ref": "#/definitions/AutoSlat.ShelfAttrs"
                },
                "slotSequence": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.SlotSequence"
                    }
                },
                "pfg": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Pfg"
                    }
                },
                "license": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.LicenseObject"
                    }
                }
            }
        },
        "AutoSlat.EthDefaults": {
            "required": [
                "CSFMCASTMAC",
                "ETH10GMAPPING",
                "ETHGFPRFI",
                "ETHGFPRFIUPI"
            ],
            "type": "object",
            "properties": {
                "ETHGFPRFIUPI": {
                    "type": "string"
                },
                "CSFMCASTMAC": {
                    "type": "string"
                },
                "ETH10GMAPPING": {
                    "type": "string"
                },
                "ETHGFPRFI": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.GCCDefaults": {
            "required": [
                "gcc0Mode",
                "gcc1Mode"
            ],
            "type": "object",
            "properties": {
                "gcc0Mode": {
                    "type": "string"
                },
                "gcc1Mode": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.EqptDefaults": {
            "required": [
                "airFilterReplacementAlarm",
                "airFilterReplacementTimer",
                "autoEquipping",
                "enhEqptMgmt",
                "minCooling"
            ],
            "type": "object",
            "properties": {
                "airFilterReplacementTimer": {
                    "type": "string"
                },
                "enhEqptMgmt": {
                    "type": "string"
                },
                "autoEquipping": {
                    "type": "string"
                },
                "minCooling": {
                    "type": "string"
                },
                "airFilterReplacementAlarm": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Photonic": {
            "required": [
                "alarmCorrelation",
                "autoRoute",
                "controlModeDefault",
                "csControl",
                "fiberLossDetection",
                "LASEROFFFARENDFAIL",
                "mcDeadband",
                "oscMode",
                "siteId",
                "siteName"
            ],
            "type": "object",
            "properties": {
                "LASEROFFFARENDFAIL": {
                    "type": "string"
                },
                "fiberLossDetection": {
                    "type": "string"
                },
                "siteName": {
                    "type": "string"
                },
                "alarmCorrelation": {
                    "type": "string"
                },
                "siteId": {
                    "type": "string"
                },
                "csControl": {
                    "type": "string"
                },
                "oscMode": {
                    "type": "string"
                },
                "autoRoute": {
                    "type": "string"
                },
                "controlModeDefault": {
                    "type": "string"
                },
                "mcDeadband": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.GenDefaults": {
            "required": [
                "autoProvFac",
                "bayFICinAO",
                "bitsMode",
                "shelfSync",
                "subnetName"
            ],
            "type": "object",
            "properties": {
                "subnetName": {
                    "type": "string"
                },
                "autoProvFac": {
                    "type": "string"
                },
                "shelfSync": {
                    "type": "string"
                },
                "bayFICinAO": {
                    "type": "string"
                },
                "bitsMode": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.AlarmDefaults": {
            "required": [
                "ainsTimeout",
                "alarmHoldoff",
                "alarminfo",
                "tcaSuppression"
            ],
            "type": "object",
            "properties": {
                "ainsTimeout": {
                    "type": "string"
                },
                "alarmHoldoff": {
                    "type": "string"
                },
                "alarminfo": {
                    "type": "string"
                },
                "tcaSuppression": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.DWDMLine": {
            "required": [
                "lineFlappingAlarm",
                "lineFlappingClearTime",
                "lineFlappingRaiseTime",
                "lineFlappingThreshold"
            ],
            "type": "object",
            "properties": {
                "lineFlappingRaiseTime": {
                    "type": "string"
                },
                "lineFlappingClearTime": {
                    "type": "string"
                },
                "lineFlappingThreshold": {
                    "type": "string"
                },
                "lineFlappingAlarm": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.MSPPDefaults": {
            "required": [
                "LINEPEVSTAT",
                "NDPMode",
                "PATHEBERTH",
                "PATHPEVSTAT",
                "PATHSDTH",
                "PATHSWCRIT",
                "PTHAISINSERT"
            ],
            "type": "object",
            "properties": {
                "NDPMode": {
                    "type": "string"
                },
                "PTHAISINSERT": {
                    "type": "string"
                },
                "PATHSDTH": {
                    "type": "string"
                },
                "LINEPEVSTAT": {
                    "type": "string"
                },
                "PATHSWCRIT": {
                    "type": "string"
                },
                "PATHPEVSTAT": {
                    "type": "string"
                },
                "PATHEBERTH": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Defaults": {
            "required": [
                "alarmDefaults",
                "dwdmLine",
                "eqptDefaults",
                "ethDefaults",
                "gccDefaults",
                "genDefaults",
                "msppDefaults",
                "photonic"
            ],
            "type": "object",
            "properties": {
                "ethDefaults": {
                    "$ref": "#/definitions/AutoSlat.EthDefaults"
                },
                "gccDefaults": {
                    "$ref": "#/definitions/AutoSlat.GCCDefaults"
                },
                "eqptDefaults": {
                    "$ref": "#/definitions/AutoSlat.EqptDefaults"
                },
                "photonic": {
                    "$ref": "#/definitions/AutoSlat.Photonic"
                },
                "genDefaults": {
                    "$ref": "#/definitions/AutoSlat.GenDefaults"
                },
                "alarmDefaults": {
                    "$ref": "#/definitions/AutoSlat.AlarmDefaults"
                },
                "dwdmLine": {
                    "$ref": "#/definitions/AutoSlat.DWDMLine"
                },
                "msppDefaults": {
                    "$ref": "#/definitions/AutoSlat.MSPPDefaults"
                }
            }
        },
        "AutoSlat.TidSlotSequence": {
            "required": [
                "addSequence",
                "anchorPort",
                "anchorSlot",
                "dropSequence"
            ],
            "type": "object",
            "properties": {
                "anchorPort": {
                    "type": "string"
                },
                "anchorSlot": {
                    "type": "string"
                },
                "anchorShelf": {
                    "type": "string"
                },
                "addSequence": {
                    "$ref": "#/definitions/AutoSlat.AddSequence"
                },
                "ots": {
                    "type": "string"
                },
                "dropSequence": {
                    "$ref": "#/definitions/AutoSlat.DropSequence"
                }
            }
        },
        "AutoSlat.OsrpLine": {
            "required": [
                "farEndAid",
                "label",
                "muxPayload",
                "name",
                "nodeID",
                "payloadType",
                "protection",
                "size"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "nodeID": {
                    "type": "string"
                },
                "size": {
                    "type": "string"
                },
                "payloadType": {
                    "type": "string"
                },
                "muxPayload": {
                    "type": "string"
                },
                "protection": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                },
                "farEndAid": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.OsrpLink": {
            "required": [
                "adminWtAb",
                "adminWtBa",
                "bundleId",
                "channel",
                "farEndAid",
                "label",
                "latencyAb",
                "latencyBa",
                "linkIdAb",
                "linkIdBa",
                "name",
                "nodeID",
                "osrpLine",
                "standard",
                "status",
                "totalBw"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "nodeID": {
                    "type": "string"
                },
                "linkIdAb": {
                    "type": "string"
                },
                "linkIdBa": {
                    "type": "string"
                },
                "adminWtAb": {
                    "type": "string"
                },
                "adminWtBa": {
                    "type": "string"
                },
                "latencyAb": {
                    "type": "string"
                },
                "latencyBa": {
                    "type": "string"
                },
                "channel": {
                    "type": "string"
                },
                "totalBw": {
                    "type": "string"
                },
                "standard": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "bundleId": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                },
                "farEndAid": {
                    "type": "string"
                },
                "osrpLine": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.OsrpLine"
                    }
                }
            }
        },
        "AutoSlat.NeighborNode": {
            "required": [
                "shelfName"
            ],
            "type": "object",
            "properties": {
                "shelfName": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Node": {
            "required": [
                "clli",
                "location",
                "name",
                "nodeFunction",
                "nodeID",
                "product",
                "release",
                "shelf"
            ],
            "type": "object",
            "properties": {
                "nodeFunction": {
                    "$ref": "#/definitions/AutoSlat.NodeFunction"
                },
                "product": {
                    "type": "string"
                },
                "clli": {
                    "type": "string"
                },
                "ncId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "link": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Link"
                    }
                },
                "connectionValidation": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.ConnectionValidation"
                    }
                },
                "fiberProfile": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.FiberProfile"
                    }
                },
                "otdr": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.OTDR"
                    }
                },
                "shelf": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Shelf"
                    }
                },
                "nodeID": {
                    "type": "string"
                },
                "location": {
                    "type": "string"
                },
                "latitude": {
                    "type": "string"
                },
                "longitude": {
                    "type": "string"
                },
                "defaults": {
                    "$ref": "#/definitions/AutoSlat.Defaults"
                },
                "tidSlotSequence": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.TidSlotSequence"
                    }
                },
                "release": {
                    "type": "string"
                },
                "osrpNodeName": {
                    "type": "string"
                },
                "osrpNodeId": {
                    "type": "string"
                },
                "cpMode": {
                    "type": "string"
                },
                "osrpLink": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.OsrpLink"
                    }
                },
                "neighborNode": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.NeighborNode"
                    }
                }
            }
        },
        "AutoSlat.FileData": {
            "required": [
                "applicationBuildNumber",
                "applicationName",
                "applicationVersion",
                "timestamp"
            ],
            "type": "object",
            "properties": {
                "applicationName": {
                    "type": "string"
                },
                "timestamp": {
                    "type": "string"
                },
                "applicationVersion": {
                    "type": "string"
                },
                "applicationBuildNumber": {
                    "type": "string"
                }
            }
        },
        "AutoSlat.Network": {
            "required": [
                "fileData",
                "node"
            ],
            "type": "object",
            "properties": {
                "node": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AutoSlat.Node"
                    }
                },
                "fileData": {
                    "$ref": "#/definitions/AutoSlat.FileData"
                }
            }
        },
        "EquipmentSummary.KitToOinMappingItem": {
            "required": [
                "kitName",
                "oin"
            ],
            "type": "object",
            "properties": {
                "kitName": {
                    "type": "string"
                },
                "oin": {
                    "type": "string"
                },
                "enabled": {
                    "type": "boolean"
                },
                "comments": {
                    "type": "string"
                }
            }
        },
        "EquipmentSummary.KitToOinMapping": {
            "required": [
                "kitToOinMapping"
            ],
            "type": "object",
            "properties": {
                "kitToOinMapping": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentSummary.KitToOinMappingItem"
                    }
                }
            }
        },
        "Common.ErrorList": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Error"
                    }
                }
            }
        },
        "Common.Identifier": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "Common.NodeIdentity": {
            "type": "object",
            "properties": {
                "clli": {
                    "type": "string"
                },
                "nodeId": {
                    "format": "int64",
                    "type": "integer"
                },
                "tid": {
                    "type": "string"
                },
                "ncId": {
                    "type": "string"
                }
            }
        },
        "Common.EquipmentSpec": {
            "required": [
                "partNumber"
            ],
            "type": "object",
            "properties": {
                "partNumber": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "aidType": {
                    "type": "string"
                },
                "mfgDate": {
                    "type": "string"
                }
            }
        },
        "Equipment.Cmd": {
            "required": [
                "addDropBankId",
                "equipmentSpec",
                "totalCount"
            ],
            "type": "object",
            "properties": {
                "equipmentSpec": {
                    "$ref": "#/definitions/Common.EquipmentSpec"
                },
                "addDropBankId": {
                    "format": "int64",
                    "type": "integer"
                },
                "totalCount": {
                    "format": "int64",
                    "type": "integer"
                }
            }
        },
        "Common.AddDropBank": {
            "required": [
                "addDropBankId"
            ],
            "type": "object",
            "properties": {
                "addDropBankId": {
                    "format": "int64",
                    "type": "integer"
                },
                "totalCmdCount": {
                    "format": "int64",
                    "type": "integer"
                }
            }
        },
        "Location+MgmtAccessTypes": {
            "enum": [
                "TL1_ACCESS",
                "SAOS_ACCESS",
                "CORBA_ACCESS"
            ],
            "type": "string"
        },
        "LocationAddress+KeyTypes": {
            "enum": [
                "RACK",
                "SHELF",
                "PHYSICAL_SHELF",
                "SLOT",
                "SUBSLOT",
                "SUBSUBSLOT",
                "PORT",
                "SUBPORT"
            ],
            "type": "string"
        },
        "Common.LocationAddress": {
            "required": [
                "key",
                "value"
            ],
            "type": "object",
            "properties": {
                "key": {
                    "$ref": "#/definitions/LocationAddress+KeyTypes"
                },
                "value": {
                    "type": "string"
                },
                "pattern": {
                    "type": "string"
                }
            }
        },
        "Common.Location": {
            "required": [
                "address",
                "mgmtAccess"
            ],
            "type": "object",
            "properties": {
                "mgmtAccess": {
                    "$ref": "#/definitions/Location+MgmtAccessTypes"
                },
                "address": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.LocationAddress"
                    }
                }
            }
        },
        "Common.Pluggable": {
            "required": [
                "equipmentSpec",
                "location"
            ],
            "type": "object",
            "properties": {
                "equipmentSpec": {
                    "$ref": "#/definitions/Common.EquipmentSpec"
                },
                "location": {
                    "$ref": "#/definitions/Common.Location"
                },
                "customerCode": {
                    "type": "string"
                }
            }
        },
        "Equipment+EquipmentStateTypes": {
            "enum": [
                "SPARE",
                "MAINTENANCESPARE",
                "INSERVICE",
                "OUTOFSERVICE",
                "RESERVED"
            ],
            "type": "string"
        },
        "Common.LinePortConnection": {
            "required": [
                "linePortId",
                "photonicNodeIdentity",
                "photonicPortLocation"
            ],
            "type": "object",
            "properties": {
                "linePortId": {
                    "format": "int64",
                    "type": "integer"
                },
                "photonicNodeIdentity": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "photonicPortLocation": {
                    "$ref": "#/definitions/Common.Location"
                }
            }
        },
        "Common.LinePortConnections": {
            "required": [
                "linePortConnections"
            ],
            "type": "object",
            "properties": {
                "linePortConnections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.LinePortConnection"
                    }
                }
            }
        },
        "EquipmentKeyValuePair+KeyTypes": {
            "enum": [
                "ADDDROPBANK",
                "TOTALCMDCOUNT",
                "MATELINECARDSLOT",
                "MATELINECARDPARTNUMBER",
                "ADDDROPBANK1",
                "ADDDROPBANK2"
            ],
            "type": "string"
        },
        "Common.EquipmentKeyValuePair": {
            "required": [
                "key",
                "value"
            ],
            "type": "object",
            "properties": {
                "key": {
                    "$ref": "#/definitions/EquipmentKeyValuePair+KeyTypes"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "Common.Equipment": {
            "required": [
                "equipmentSpec"
            ],
            "type": "object",
            "properties": {
                "equipmentSpec": {
                    "$ref": "#/definitions/Common.EquipmentSpec"
                },
                "equipmentProfile": {
                    "type": "string"
                },
                "location": {
                    "$ref": "#/definitions/Common.Location"
                },
                "customerCode": {
                    "type": "string"
                },
                "pluggables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Pluggable"
                    }
                },
                "equipmentState": {
                    "$ref": "#/definitions/Equipment+EquipmentStateTypes"
                },
                "serviceIdentifier": {
                    "type": "string"
                },
                "lineSideConnection": {
                    "$ref": "#/definitions/Common.Location"
                },
                "linePortConnections": {
                    "$ref": "#/definitions/Common.LinePortConnections"
                },
                "maintenanceSpare": {
                    "type": "boolean"
                },
                "regen": {
                    "type": "boolean"
                },
                "additionalAttributes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.EquipmentKeyValuePair"
                    }
                }
            }
        },
        "Equipment.TerminationEquipmentGroup": {
            "required": [
                "equipments"
            ],
            "type": "object",
            "properties": {
                "equipments": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Equipment"
                    }
                },
                "regen": {
                    "type": "boolean"
                }
            }
        },
        "Common.Bay": {
            "required": [
                "bayId"
            ],
            "type": "object",
            "properties": {
                "bayId": {
                    "format": "int64",
                    "type": "integer"
                }
            }
        },
        "Common.NodeAttributes": {
            "required": [
                "siteId"
            ],
            "type": "object",
            "properties": {
                "siteId": {
                    "format": "int64",
                    "type": "integer"
                },
                "groupId": {
                    "format": "int64",
                    "type": "integer"
                },
                "memberId": {
                    "format": "int64",
                    "type": "integer"
                },
                "siteName": {
                    "type": "string"
                }
            }
        },
        "Common.Chassis": {
            "required": [
                "equipmentSpec",
                "location",
                "nodeAttributes"
            ],
            "type": "object",
            "properties": {
                "equipmentSpec": {
                    "$ref": "#/definitions/Common.EquipmentSpec"
                },
                "location": {
                    "$ref": "#/definitions/Common.Location"
                },
                "nodeAttributes": {
                    "$ref": "#/definitions/Common.NodeAttributes"
                }
            }
        },
        "Equipment.CommonEquipment": {
            "required": [
                "pec"
            ],
            "type": "object",
            "properties": {
                "pec": {
                    "type": "string"
                },
                "slot": {
                    "format": "int64",
                    "type": "integer"
                },
                "subSlot": {
                    "format": "int64",
                    "type": "integer"
                }
            }
        },
        "Equipment.Shelf": {
            "required": [
                "commonEquipment",
                "photonicNodeIdentity",
                "shelfIntent",
                "shelfNumber",
                "shelfPec",
                "shelfRelease",
                "shelfType",
                "siteId"
            ],
            "type": "object",
            "properties": {
                "siteId": {
                    "format": "int64",
                    "type": "integer"
                },
                "photonicNodeIdentity": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "shelfNumber": {
                    "format": "int64",
                    "type": "integer"
                },
                "shelfPec": {
                    "type": "string"
                },
                "shelfRelease": {
                    "type": "string"
                },
                "shelfIntent": {
                    "type": "string"
                },
                "shelfType": {
                    "type": "string"
                },
                "siteGroup": {
                    "type": "string"
                },
                "location": {
                    "type": "string"
                },
                "groupId": {
                    "type": "string"
                },
                "memberId": {
                    "type": "string"
                },
                "commonEquipment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Equipment.CommonEquipment"
                    }
                }
            }
        },
        "Equipment.EquipmentAddition": {
            "required": [
                "nodeIdentity"
            ],
            "type": "object",
            "properties": {
                "nodeIdentity": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "cmds": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Equipment.Cmd"
                    }
                },
                "addDropBanks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.AddDropBank"
                    }
                },
                "terminationEquipmentGroups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Equipment.TerminationEquipmentGroup"
                    }
                },
                "pluggables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Pluggable"
                    }
                },
                "transponderBays": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Bay"
                    }
                },
                "Chassis": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Chassis"
                    }
                },
                "shelves": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Equipment.Shelf"
                    }
                }
            }
        },
        "Equipment.AddEquipmentRequest": {
            "required": [
                "equipmentAdditions",
                "project"
            ],
            "type": "object",
            "properties": {
                "project": {
                    "$ref": "#/definitions/Common.Identifier"
                },
                "projectList": {
                    "$ref": "#/definitions/Common.Identifier"
                },
                "equipmentAdditions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Equipment.EquipmentAddition"
                    }
                },
                "additionalAttributes": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "HeatDissipationThresholdStatus+StatusTypes": {
            "enum": [
                "Ok",
                "Warning",
                "Exceeded"
            ],
            "type": "string"
        },
        "V1.ProposedLineEquipment": {
            "type": "object",
            "properties": {
                "Slot": {
                    "type": "string"
                },
                "Shelf": {
                    "type": "string"
                },
                "Tid": {
                    "type": "string"
                },
                "Port": {
                    "type": "string"
                }
            }
        },
        "Common.EndpointLocation": {
            "required": [
                "nodeIdentity"
            ],
            "type": "object",
            "properties": {
                "nodeIdentity": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "location": {
                    "$ref": "#/definitions/Common.Location"
                },
                "proposedLineEquipment": {
                    "$ref": "#/definitions/V1.ProposedLineEquipment"
                }
            }
        },
        "HeatDissipationThresholdPolicy.HeatDissipationThreshold": {
            "type": "object",
            "properties": {
                "warningThreshold": {
                    "type": "string"
                },
                "blockingThreshold": {
                    "type": "string"
                }
            }
        },
        "BayHeatDissipation+ThresholdTypeTypes": {
            "enum": [
                "Global",
                "Site",
                "Bay"
            ],
            "type": "string"
        },
        "HeatDissipationThresholdPolicy.BayHeatDissipation": {
            "required": [
                "bay",
                "calculatedHeatDissipation",
                "heatDissipationThreshold",
                "thresholdType"
            ],
            "type": "object",
            "properties": {
                "bay": {
                    "$ref": "#/definitions/Common.EndpointLocation"
                },
                "calculatedHeatDissipation": {
                    "format": "int64",
                    "type": "integer"
                },
                "heatDissipationThreshold": {
                    "$ref": "#/definitions/HeatDissipationThresholdPolicy.HeatDissipationThreshold"
                },
                "thresholdType": {
                    "$ref": "#/definitions/BayHeatDissipation+ThresholdTypeTypes"
                }
            }
        },
        "HeatDissipationThresholdPolicy.UnslottedEquipmentHeatDissipation": {
            "required": [
                "isSpare",
                "pec",
                "power"
            ],
            "type": "object",
            "properties": {
                "pec": {
                    "type": "string"
                },
                "power": {
                    "format": "int64",
                    "type": "integer"
                },
                "isSpare": {
                    "type": "boolean"
                }
            }
        },
        "HeatDissipationThresholdPolicy.UnslottedEquipmentGroup": {
            "required": [
                "unslottedEquipmentHeatDissipation"
            ],
            "type": "object",
            "properties": {
                "unslottedEquipmentHeatDissipation": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationThresholdPolicy.UnslottedEquipmentHeatDissipation"
                    }
                }
            }
        },
        "Common.HeatDissipationThresholdStatus": {
            "required": [
                "status"
            ],
            "type": "object",
            "properties": {
                "status": {
                    "$ref": "#/definitions/HeatDissipationThresholdStatus+StatusTypes"
                },
                "warningThreshold": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationThresholdPolicy.BayHeatDissipation"
                    }
                },
                "blockingThreshold": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationThresholdPolicy.BayHeatDissipation"
                    }
                },
                "unslottedEquipmentGroups": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationThresholdPolicy.UnslottedEquipmentGroup"
                    }
                }
            }
        },
        "Equipment.EquipmentResponse": {
            "required": [
                "heatDissipationThresholdStatus"
            ],
            "type": "object",
            "properties": {
                "heatDissipationThresholdStatus": {
                    "$ref": "#/definitions/Common.HeatDissipationThresholdStatus"
                }
            }
        },
        "Common.Source": {
            "type": "object",
            "properties": {
                "project": {
                    "$ref": "#/definitions/Common.Identifier"
                },
                "projectList": {
                    "$ref": "#/definitions/Common.Identifier"
                }
            }
        },
        "Common.GeoLocation": {
            "required": [
                "latitude",
                "longitude"
            ],
            "type": "object",
            "properties": {
                "latitude": {
                    "format": "double",
                    "type": "number"
                },
                "longitude": {
                    "format": "double",
                    "type": "number"
                }
            }
        },
        "Node+NodeTypeTypes": {
            "enum": [
                "ILA",
                "LGX",
                "ROADM",
                "ROADMSMALL",
                "ROADMLARGE",
                "SPLICEPOINT",
                "DGE",
                "ROADMETSI"
            ],
            "type": "string"
        },
        "Node+AmplifierConfigurationTypeTypes": {
            "enum": [
                "Unsupported",
                "NoAmp",
                "SingleAmp",
                "DualAmps",
                "SingleCascadedAmps_Aend",
                "SingleCascadedAmps_Zend",
                "DualCascadedAmps",
                "DualSra",
                "Sra_Aend",
                "Sra_Zend",
                "SraCascadedAmps_Aend",
                "SraCascadedAmps_Zend"
            ],
            "type": "string"
        },
        "Common.Node": {
            "required": [
                "nodeIdentity",
                "nodeType"
            ],
            "type": "object",
            "properties": {
                "nodeIdentity": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "geoLocation": {
                    "$ref": "#/definitions/Common.GeoLocation"
                },
                "nodeType": {
                    "$ref": "#/definitions/Node+NodeTypeTypes"
                },
                "amplifierConfigurationType": {
                    "$ref": "#/definitions/Node+AmplifierConfigurationTypeTypes"
                }
            }
        },
        "EquipmentSummary.EquipmentKit": {
            "required": [
                "equipmentKitId"
            ],
            "type": "object",
            "properties": {
                "equipmentKitId": {
                    "type": "string"
                },
                "oin": {
                    "type": "string"
                },
                "shelves": {
                    "type": "array",
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/definitions/Common.LocationAddress"
                        }
                    }
                },
                "maintenanceSpare": {
                    "type": "boolean"
                },
                "equipment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Equipment"
                    }
                }
            }
        },
        "EquipmentSummary.NodalEquipmentKitSummary": {
            "required": [
                "equipmentKits",
                "node"
            ],
            "type": "object",
            "properties": {
                "node": {
                    "$ref": "#/definitions/Common.Node"
                },
                "equipmentKits": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentSummary.EquipmentKit"
                    }
                }
            }
        },
        "EquipmentSummary.EquipmentSummaryResponse": {
            "required": [
                "equipmentSummary",
                "source"
            ],
            "type": "object",
            "properties": {
                "source": {
                    "$ref": "#/definitions/Common.Source"
                },
                "equipmentSummary": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentSummary.NodalEquipmentKitSummary"
                    }
                }
            }
        },
        "EquipmentSummary.EquipmentSummaryResponseOrganizedByProject": {
            "required": [
                "projectEquipmentSummary"
            ],
            "type": "object",
            "properties": {
                "source": {
                    "$ref": "#/definitions/Common.Source"
                },
                "projectEquipmentSummary": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentSummary.EquipmentSummaryResponse"
                    }
                }
            }
        },
        "Fiber+FiberTypeTypes": {
            "enum": [
                "NDSF",
                "ELEAF",
                "LEAF",
                "TWRS",
                "TWPLUS",
                "TWC",
                "DSF",
                "LS",
                "OTHER",
                "TERA",
                "TWREACH",
                "PSC",
                "NDSF_LWP",
                "EX2000",
                "EX3000",
                "TERAWAVE_ULL"
            ],
            "type": "string"
        },
        "Fiber+FiberOrlTypes": {
            "enum": [
                "NOT_YET_SPECIFIED",
                "STANDARD",
                "BAD"
            ],
            "type": "string"
        },
        "FiberRoute.Fiber": {
            "required": [
                "fiberType",
                "number"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "number": {
                    "format": "int64",
                    "type": "integer"
                },
                "fiberType": {
                    "$ref": "#/definitions/Fiber+FiberTypeTypes"
                },
                "lossDb": {
                    "format": "double",
                    "type": "number"
                },
                "pmdMean": {
                    "format": "double",
                    "type": "number"
                },
                "fiberOrl": {
                    "$ref": "#/definitions/Fiber+FiberOrlTypes"
                },
                "specialMaintenanceMarginDb": {
                    "format": "double",
                    "type": "number"
                }
            }
        },
        "FiberRoute.FiberPair": {
            "required": [
                "aEndNode",
                "aTozFiber",
                "cableId",
                "zEndNode",
                "zToaFiber"
            ],
            "type": "object",
            "properties": {
                "aEndNode": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "zEndNode": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "cableId": {
                    "type": "string"
                },
                "lengthKm": {
                    "format": "double",
                    "type": "number"
                },
                "aTozFiber": {
                    "$ref": "#/definitions/FiberRoute.Fiber"
                },
                "zToaFiber": {
                    "$ref": "#/definitions/FiberRoute.Fiber"
                }
            }
        },
        "Common.EndPointAttributes": {
            "type": "object",
            "properties": {
                "directionId": {
                    "format": "int64",
                    "type": "integer"
                },
                "shelf": {
                    "format": "int64",
                    "type": "integer"
                },
                "totalNumberOfCmds": {
                    "format": "int64",
                    "type": "integer"
                }
            }
        },
        "FiberRoute.SectionFacilityPair": {
            "required": [
                "facilityAtoZ",
                "facilityZtoA"
            ],
            "type": "object",
            "properties": {
                "facilityAtoZ": {
                    "type": "string"
                },
                "facilityZtoA": {
                    "type": "string"
                }
            }
        },
        "FiberRoute.Section": {
            "required": [
                "aEndPointAttributes",
                "facilities",
                "fiberPairs",
                "zEndPointAttributes"
            ],
            "type": "object",
            "properties": {
                "fiberPairs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberRoute.FiberPair"
                    }
                },
                "aEndPointAttributes": {
                    "$ref": "#/definitions/Common.EndPointAttributes"
                },
                "zEndPointAttributes": {
                    "$ref": "#/definitions/Common.EndPointAttributes"
                },
                "facilities": {
                    "$ref": "#/definitions/FiberRoute.SectionFacilityPair"
                }
            }
        },
        "FiberRoute.AdditionalEquipmentConfiguration": {
            "required": [
                "nodeIdentity"
            ],
            "type": "object",
            "properties": {
                "nodeIdentity": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "transponderBays": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Bay"
                    }
                }
            }
        },
        "FiberRoute.AddFiberRouteRequest": {
            "required": [
                "nodes",
                "project",
                "sections"
            ],
            "type": "object",
            "properties": {
                "project": {
                    "$ref": "#/definitions/Common.Identifier"
                },
                "sections": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberRoute.Section"
                    }
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.Node"
                    }
                },
                "additionalEquipmentConfiguration": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberRoute.AdditionalEquipmentConfiguration"
                    }
                },
                "additionalAttributes": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "FiberRoute.FiberRouteDelta": {
            "type": "object",
            "properties": {
                "addedNodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.NodeIdentity"
                    }
                },
                "removedNodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.NodeIdentity"
                    }
                },
                "addedFibers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberRoute.FiberPair"
                    }
                },
                "removedFibers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberRoute.FiberPair"
                    }
                }
            }
        },
        "GlobalConfigurationData.KeyValue": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "GlobalConfigurationData.ConfigurationData": {
            "type": "object",
            "properties": {
                "configurationData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/GlobalConfigurationData.KeyValue"
                    }
                }
            }
        },
        "Logging.Severity": {
            "enum": [
                "_Critical",
                "_Error",
                "_Warning",
                "_Verbose",
                "_Information"
            ],
            "type": "string"
        },
        "Logging.Error": {
            "type": "object",
            "properties": {
                "Severity": {
                    "$ref": "#/definitions/Logging.Severity"
                },
                "Message": {
                    "type": "string",
                    "readOnly": true
                }
            }
        },
        "Model.GlobalConfigurationData": {
            "description": "Provides a Global table to store configuration data in key value pair",
            "type": "object",
            "properties": {
                "Key": {
                    "description": "Gets or sets the Key",
                    "type": "string"
                },
                "Value": {
                    "description": "Gets or sets the Value",
                    "type": "string"
                }
            }
        },
        "HeatDissipationReport.ShelfHeatDissipation": {
            "required": [
                "calculatedHeatDissipationInWatts",
                "physicalShelf"
            ],
            "type": "object",
            "properties": {
                "physicalShelf": {
                    "format": "int64",
                    "type": "integer"
                },
                "calculatedHeatDissipationInWatts": {
                    "format": "int64",
                    "type": "integer"
                }
            }
        },
        "RackHeatDissipationReport+HeatDissipationThresholdCrossedTypes": {
            "enum": [
                "warning",
                "blocking"
            ],
            "type": "string"
        },
        "RackHeatDissipationReport+ThresholdTypeTypes": {
            "enum": [
                "Global",
                "Site",
                "Rack",
                "NotSet"
            ],
            "type": "string"
        },
        "HeatDissipationReport.RackHeatDissipationReport": {
            "required": [
                "calculatedHeatDissipationInWatts",
                "perShelfHeatDissipation",
                "rack",
                "thresholdType"
            ],
            "type": "object",
            "properties": {
                "rack": {
                    "$ref": "#/definitions/Common.Location"
                },
                "calculatedHeatDissipationInWatts": {
                    "format": "int64",
                    "type": "integer"
                },
                "perShelfHeatDissipation": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationReport.ShelfHeatDissipation"
                    }
                },
                "heatDissipationThresholdCrossed": {
                    "$ref": "#/definitions/RackHeatDissipationReport+HeatDissipationThresholdCrossedTypes"
                },
                "heatDissipationThreshold": {
                    "$ref": "#/definitions/HeatDissipationThresholdPolicy.HeatDissipationThreshold"
                },
                "thresholdType": {
                    "$ref": "#/definitions/RackHeatDissipationReport+ThresholdTypeTypes"
                }
            }
        },
        "HeatDissipationReport.TidHeatDissipationReport": {
            "required": [
                "nodeIdentity",
                "racks"
            ],
            "type": "object",
            "properties": {
                "nodeIdentity": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "racks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationReport.RackHeatDissipationReport"
                    }
                }
            }
        },
        "HeatDissipationReport.SiteHeatDissipationReport": {
            "required": [
                "name",
                "tids"
            ],
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "tids": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationReport.TidHeatDissipationReport"
                    }
                }
            }
        },
        "HeatDissipationReport.HeatDissipationReport": {
            "required": [
                "sites"
            ],
            "type": "object",
            "properties": {
                "sites": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationReport.SiteHeatDissipationReport"
                    }
                }
            }
        },
        "FiberData+TypeTypes": {
            "enum": [
                "fiber"
            ],
            "type": "string"
        },
        "FiberAttributes+FiberOrlTypes": {
            "enum": [
                "NOT_YET_SPECIFIED",
                "STANDARD",
                "BAD"
            ],
            "type": "string"
        },
        "PlannedData.FiberAttributes": {
            "type": "object",
            "properties": {
                "fiberOrl": {
                    "$ref": "#/definitions/FiberAttributes+FiberOrlTypes"
                },
                "fiberType": {
                    "type": "string"
                },
                "fiberId": {
                    "type": "string"
                },
                "freId": {
                    "type": "string"
                },
                "headPPL": {
                    "type": "string"
                },
                "lengthKm": {
                    "type": "string"
                },
                "lossDb": {
                    "type": "string"
                },
                "fiberLossReconciled": {
                    "type": "boolean"
                },
                "margin": {
                    "type": "string"
                },
                "pmdCoefficient": {
                    "type": "string"
                },
                "specialMaintMargin": {
                    "type": "string"
                },
                "tailPPL": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "cableId": {
                    "type": "string"
                },
                "fiberNumber": {
                    "type": "string"
                },
                "startDate": {
                    "type": "string"
                },
                "endDate": {
                    "type": "string"
                }
            }
        },
        "PlannedData.FiberData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/FiberData+TypeTypes"
                },
                "attributes": {
                    "$ref": "#/definitions/PlannedData.FiberAttributes"
                }
            }
        },
        "PlannedData.FiberList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedData.FiberData"
                    }
                }
            }
        },
        "Common.TerminationEquipmentType": {
            "enum": [
                "UNKNOWN",
                "DT10GCMB",
                "DT10GWT",
                "DTREGEN",
                "GENERIC_DWDM",
                "LH_OC48",
                "OM5000_2P5G_FLEX_OCLD",
                "OM5000_2P5G_FLEX_OTR_1310",
                "OM5000_2P5G_FLEX_OTR_850",
                "OM5000_10G_MOTR_VCAT",
                "OM5000_10G_OTR",
                "OM5000_10G_OTR_LAN",
                "OM5000_10G_ULTRA_OTR_RS8",
                "OM5000_10G_ULTRA_OTR_SCFEC",
                "OM5000_10G_ULTRA_OTR_LAN",
                "OM5000_10G_ULTRA_OTR_FC1200",
                "OM5000_10G_TUNABLE_OTR",
                "OM5000_10G_MOTR",
                "OM5000_10G_MOTR_XR",
                "OM5000_10G_TUNABLE_MOTR",
                "OM3500_10G",
                "OM3500_2P5G",
                "OME_10G_NGM",
                "OME_10G_NGM2",
                "OME_10GbE_NGM",
                "OME_10G_OTU2",
                "OME_2P5G",
                "OME_OTR_10GE_LAN",
                "OME_OTR_MULTI_SERVICE",
                "OME_NGM_WT_SONET_SDH_REGIONAL",
                "OME_NGM_WT_10GE_LAN_REGIONAL",
                "OME_NGM_WT_OTU",
                "OME_NGM_WT_OTU_REGIONAL",
                "OMETOTSC10GSSWSCFEC",
                "OMETOTSCOTU210G7SCFEC",
                "OMESMUX10G7SCFEC",
                "OMETDWDM10G7SCFECAM",
                "OMETOTSC10GBE11G1SCFEC",
                "OMEEDC40GOCLDEPMD",
                "OM5KTOTR10GBE10G7",
                "OM5KTMOTROTN10G7SCFEC",
                "MERS10GEEMLXFP",
                "OM5KOTRFC4004G",
                "OM5KMOTRFCGBE2G5",
                "OMEDWDM2X2G5SFP",
                "OTHER_DWDM_1",
                "OTHER_DWDM_2",
                "OTHER_DWDM_3",
                "OTHER_DWDM_4",
                "OTHER_DWDM_5",
                "OTHER_DWDM_6",
                "OTHER_DWDM_7",
                "OTHER_DWDM_8",
                "OTHER_DWDM_9",
                "OTHER_DWDM_10",
                "OMEEDC40GOCLD",
                "OMEEDC40GOCLDR",
                "OMEEDC40GOCLDM",
                "OMETOTSCFC120011G3SCFEC",
                "XFPDWDM_NTK588AA_DV_10G7RS8",
                "XFPDWDM_NTK588AA_DV_11G1RS8",
                "OMEEDC40GOCLDHSRX",
                "OMEEDC40GOCLDSUB",
                "OMEEDC40GOCLDULH",
                "OMEEDC40GOCLDULHSUB",
                "OMEEDC100GOCLDEPMD",
                "OMEEDC100GOCLD",
                "OMEEDC100GOCLDR",
                "OMEEDC100GOCLDM",
                "OMEEDC100GOCLDSUB",
                "OMEEDC10G7SUB",
                "OMEEDC11G1SUB",
                "XFPDWDM_NTK588AA_DV_10G7SCFEC",
                "XFPDWDM_NTK588AA_DV_11G1SCFEC",
                "XFPDWDM_NTK583AA_10G7RS8",
                "XFPDWDM_NTK583AA_11G1RS8",
                "XFPDWDM_NTK583AA_10G7SCFEC",
                "XFPDWDM_NTK583AA_11G1SCFEC",
                "XFPDWDM_NTK587EA_HU_10G7RS8",
                "XFPDWDM_NTK587EA_HU_11G1RS8",
                "XFPDWDM_NTK587AA_10G7RS8",
                "XFPDWDM_NTK587AA_11G1RS8",
                "CD5430_XFPDWDM_1609002900_10G7FEC6DB",
                "CD5430_XFPDWDM_1609002900_10G7FEC8DB",
                "EDC40GWVSELOCLDEPMDCLD",
                "EDC40GWVSELOCLDCLD",
                "EDC40GWVSELOCLDRCLD",
                "EDC40GWVSELOCLDMCLD",
                "OMEEDC40GOCLDCOLORLESSSUB",
                "OMEEDC40GOCLDCOLORLESSMH",
                "OMEEDC100GOCLDCOLORLESSEPMD",
                "OMEEDC100GOCLDCOLORLESS",
                "OMEEDC100GOCLDCOLORLESSR",
                "OMEEDC100GOCLDCOLORLESSM",
                "OMEEDC100GOCLDCOLORLESSSUB",
                "OMEEDC100GOCLDCOLORLESSMH",
                "SFPDWDM_NTK586AA_HW_2G7",
                "XFPDWDM_NTK583AB_10G7RS8",
                "XFPDWDM_NTK583AB_11G1RS8",
                "XFPDWDM_NTK583AB_10G7SCFEC",
                "XFPDWDM_NTK583AB_11G1SCFEC",
                "XFPDWDM_NTK589_CBAND_10G7RS8",
                "XFPDWDM_NTK589_CBAND_11G1RS8",
                "XFPDWDM_NTK589_CBAND_10G7SCFEC",
                "XFPDWDM_NTK589_CBAND_11G1SCFEC",
                "EDC100GWL3OCLDMCLD",
                "EDC100GWL3OCLDRCLD",
                "EDC100GWL3OCLDECLD",
                "EDC100GWL3OCLDLHCLD",
                "EDC100GWL3OCLDPCLD",
                "EDC100GWL3OCLDSUBCLD",
                "TSLM_1_134_5468_900",
                "TSLM_1_134_5468_901",
                "TSLM_1_134_5468_903",
                "OSLM_1_134_5466_900",
                "OSLM_1_134_5466_901",
                "OSLM_1_134_5466_903",
                "EDC40GWVSELOCLDEPMDCLS",
                "EDC40GWVSELOCLDCLS",
                "EDC40GWVSELOCLDRCLS",
                "EDC40GWVSELOCLDMCLS",
                "EDC100GWL3OCLDMCLS",
                "EDC100GWL3OCLDRCLS",
                "EDC100GWL3OCLDECLS",
                "EDC100GWL3OCLDLHCLS",
                "EDC100GWL3OCLDPCLS",
                "TSLM_1_134_5468_904",
                "OSLM_1_134_5466_904",
                "OSLM_1_134_5466_905",
                "TSLM_1_134_5468_905",
                "OSLM_1_134_5466_904CLS",
                "TSLM_1_134_5468_904CLS",
                "OSLM_1_134_5466_900CLS",
                "TSLM_1_134_5468_900CLS",
                "OSLM_1_134_5466_903CLS",
                "TSLM_1_134_5468_903CLS",
                "OSLM_1_134_5466_901CLS",
                "TSLM_1_134_5468_901CLS",
                "OSLM_1_134_5466_905CLS",
                "TSLM_1_134_5468_905CLS",
                "OSLM_1_134_5466_904CNTLS",
                "TSLM_1_134_5468_904CNTLS",
                "OSLM_1_134_5466_900CNTLS",
                "TSLM_1_134_5468_900CNTLS",
                "OSLM_1_134_5466_903CNTLS",
                "TSLM_1_134_5468_903CNTLS",
                "OSLM_1_134_5466_901CNTLS",
                "TSLM_1_134_5468_901CNTLS",
                "OSLM_1_134_5466_905CNTLS",
                "TSLM_1_134_5468_905CNTLS",
                "EDC100GWL3OCLDECNTLS",
                "EDC100GWL3OCLDPCNTLS",
                "EDC100GWL3OCLDLHCNTLS",
                "EDC100GWL3OCLDRCNTLS",
                "EDC100GWL3OCLDMCNTLS",
                "EDC100GWL3OCLDSUBCNTLS",
                "EDC40GWVSELOCLDEPMDCNTLS",
                "EDC40GWVSELOCLDCNTLS",
                "EDC40GWVSELOCLDRCNTLS",
                "EDC40GWVSELOCLDMCNTLS",
                "EDC40GWVSELOCLDSUBCLD",
                "EDC40GWVSELOCLDSUBCLS",
                "EDC40GWVSELOCLDSUBCNTLS",
                "FLEX3WL3EMDMQPSKCLD1A",
                "FLEX3WL3EMDMQPSKCLD1A_SDD",
                "FLEX3WL3EMDMQPSKCLD2A",
                "FLEX3WL3EMDMQPSKCLD2A_SDD",
                "FLEX3WL3EMDMQPSKCLD3A_SDD",
                "FLEX3WL3EMDMQPSKCLD4A_SDD",
                "FLEX3WL3EMDMQPSKCLD5A",
                "FLEX3WL3EMDMQPSKCLD5A_SDD",
                "FLEX3WL3EMDMQPSKCLS1A",
                "FLEX3WL3EMDMQPSKCLS1A_SDD",
                "FLEX3WL3EMDMQPSKCLS2A",
                "FLEX3WL3EMDMQPSKCLS2A_SDD",
                "FLEX3WL3EMDMQPSKCLS3A_SDD",
                "FLEX3WL3EMDMQPSKCLS4A_SDD",
                "FLEX3WL3EMDMQPSKCLS5A",
                "FLEX3WL3EMDMQPSKCLS5A_SDD",
                "FLEX3WL3EMDMQPSKCNTLS1A",
                "FLEX3WL3EMDMQPSKCNTLS1A_SDD",
                "FLEX3WL3EMDMQPSKCNTLS2A",
                "FLEX3WL3EMDMQPSKCNTLS2A_SDD",
                "FLEX3WL3EMDMQPSKCNTLS3A_SDD",
                "FLEX3WL3EMDMQPSKCNTLS4A_SDD",
                "FLEX3WL3EMDMQPSKCNTLS5A",
                "FLEX3WL3EMDMQPSKCNTLS5A_SDD",
                "FLEX3WL3EMDM16QAMCLD1",
                "FLEX3WL3EMDM16QAMCLD2",
                "FLEX3WL3EMDM16QAMCLD3",
                "FLEX3WL3EMDM16QAMCLD4",
                "FLEX3WL3EMDM16QAMCLD5",
                "FLEX3WL3EMDM16QAMCLS1",
                "FLEX3WL3EMDM16QAMCLS2",
                "FLEX3WL3EMDM16QAMCLS3",
                "FLEX3WL3EMDM16QAMCLS4",
                "FLEX3WL3EMDM16QAMCLS5",
                "FLEX3WL3EMDM16QAMCNTLS1",
                "FLEX3WL3EMDM16QAMCNTLS2",
                "FLEX3WL3EMDM16QAMCNTLS3",
                "FLEX3WL3EMDM16QAMCNTLS4",
                "FLEX3WL3EMDM16QAMCNTLS5",
                "FLEX3WL3EMDMQPSKCLD1B",
                "FLEX3WL3EMDMQPSKCLD1B_SDD",
                "FLEX3WL3EMDMQPSKCLD2B",
                "FLEX3WL3EMDMQPSKCLD2B_SDD",
                "FLEX3WL3EMDMQPSKCLD3B_SDD",
                "FLEX3WL3EMDMQPSKCLD4B_SDD",
                "FLEX3WL3EMDMQPSKCLD5B",
                "FLEX3WL3EMDMQPSKCLD5B_SDD",
                "FLEX3WL3EMDMQPSKCLS1B",
                "FLEX3WL3EMDMQPSKCLS1B_SDD",
                "FLEX3WL3EMDMQPSKCLS2B",
                "FLEX3WL3EMDMQPSKCLS2B_SDD",
                "FLEX3WL3EMDMQPSKCLS3B_SDD",
                "FLEX3WL3EMDMQPSKCLS4B_SDD",
                "FLEX3WL3EMDMQPSKCLS5B",
                "FLEX3WL3EMDMQPSKCLS5B_SDD",
                "FLEX3WL3EMDMQPSKCNTLS1B",
                "FLEX3WL3EMDMQPSKCNTLS1B_SDD",
                "FLEX3WL3EMDMQPSKCNTLS2B",
                "FLEX3WL3EMDMQPSKCNTLS2B_SDD",
                "FLEX3WL3EMDMQPSKCNTLS3B_SDD",
                "FLEX3WL3EMDMQPSKCNTLS4B_SDD",
                "FLEX3WL3EMDMQPSKCNTLS5B",
                "FLEX3WL3EMDMQPSKCNTLS5B_SDD",
                "XCVR_T80W01",
                "EDC100GWL3OCLDSUBCLS",
                "WL3NMDM4ASKCLD1",
                "WL3NMDM4ASKCLD2",
                "WL3NMDMQPSKCLD3",
                "WL3NMDM4ASKCLS1",
                "WL3NMDM4ASKCLS2",
                "WL3NMDMQPSKCLS3",
                "WL3NMDM4ASKCNTLS1",
                "WL3NMDM4ASKCNTLS2",
                "WL3NMDMQPSKCNTLS3",
                "WL3NMDM4ASKCS1",
                "WL3NMDM4ASKCS2",
                "WL3NMDMQPSKCS3",
                "WL3EMDMQPSKCS1B",
                "WL3EMDMQPSKCS1B_SDD",
                "WL3EMDMQPSKCS2B",
                "WL3EMDMQPSKCS2B_SDD",
                "WL3EMDMQPSKCS3B_SDD",
                "WL3EMDMQPSKCS4B_SDD",
                "WL3EMDMQPSKCS5B",
                "WL3EMDMQPSKCS5B_SDD",
                "EDC100GWL3MDMCS1",
                "EDC100GWL3MDMCS2",
                "EDC100GWL3MDMCS3",
                "EDC100GWL3MDMCS4",
                "EDC100GWL3MDMCS5",
                "EDC100GWL3MDMCS6",
                "EDC100GWL3MDMCS7",
                "EDC100GWL3MDMCS8",
                "TSLM_1_134_5468_900CS",
                "TSLM_1_134_5468_901CS",
                "TSLM_1_134_5468_903CS",
                "TSLM_1_134_5468_904CS",
                "TSLM_1_134_5468_905CS",
                "OSLM_1_134_5466_900CS",
                "OSLM_1_134_5466_901CS",
                "OSLM_1_134_5466_903CS",
                "OSLM_1_134_5466_904CS",
                "OSLM_1_134_5466_905CS",
                "WL3EMDMQPSKCS1",
                "WL3EMDMQPSKCS2",
                "WL3EMDMQPSKCS5",
                "WL3EMDMQPSKCS1_SDD",
                "WL3EMDMQPSKCS2_SDD",
                "WL3EMDMQPSKCS3_SDD",
                "WL3EMDMQPSKCS4_SDD",
                "WL3EMDMQPSKCS5_SDD",
                "WL3EMDM16QAMCS1",
                "WL3EMDM16QAMCS2",
                "WL3EMDM16QAMCS3",
                "WL3EMDM16QAMCS4",
                "WL3EMDM16QAMCS5",
                "WL3NMDMAMP4ASKCLD",
                "WL3NMDMAMP4ASKCLS",
                "WL3NMDMAMP4ASKCNTLS",
                "WL3NMDMAMP4ASKCS",
                "WL3NMDMQPSKCNTLS",
                "WL3NMDM4ASKCNTLS3",
                "WL3NMDM4ASKCNTLS4",
                "WL3NMDMQPSKCLD4",
                "WL3NMDMQPSKCLS4",
                "WL3NMDMQPSKCNTLS4",
                "WL3NMDMQPSKCS4",
                "WL3NMDMQPSKCLD5",
                "WL3NMDMQPSKCLS5",
                "WL3NMDMQPSKCNTLS5",
                "WL3NMDMQPSKCS5",
                "WL3NMDMQPSKCLD6",
                "WL3NMDMQPSKCLS6",
                "WL3NMDMQPSKCNTLS6",
                "WL3NMDMQPSKCS6",
                "WL3NMDM4ASKCLD5",
                "WL3NMDM4ASKCLD6",
                "WL3NMDM4ASKCLS5",
                "WL3NMDM4ASKCLS6",
                "WL3NMDM4ASKCNTLS5",
                "WL3NMDM4ASKCNTLS6",
                "WL3NMDM4ASKCS5",
                "WL3NMDM4ASKCS6",
                "WL3EMDM8QAMCLD3",
                "WL3EMDM8QAMCLS3",
                "WL3EMDM8QAMCNTLS3",
                "WL3EMDM8QAMCS3",
                "WL3EMDM8QAMCLD2",
                "WL3EMDM8QAMCLS2",
                "WL3EMDM8QAMCNTLS2",
                "WL3EMDM8QAMCS2",
                "WL3EMDM8QAMCLD4",
                "WL3EMDM8QAMCLS4",
                "WL3EMDM8QAMCNTLS4",
                "WL3EMDM8QAMCS4",
                "WL3EMDM8QAMCLD5",
                "WL3EMDM8QAMCLS5",
                "WL3EMDM8QAMCNTLS5",
                "WL3EMDM8QAMCS5",
                "WL3EMDM8QAMCLD1",
                "WL3EMDM8QAMCLS1",
                "WL3EMDM8QAMCNTLS1",
                "WL3EMDM8QAMCS1",
                "SFP_1609201900_RS8",
                "SFP_1609201900_NULL",
                "FLEX3WL3MDMQPSKCLS6A",
                "FLEX3WL3EMDMQPSKCLD7A_SDD",
                "FLEX3WL3EMDMQPSKCLS7A_SDD",
                "FLEX3WL3EMDMQPSKCNTLS7A_SDD",
                "WL3EMDMQPSKCS7_SDD",
                "FLEX3WL3EMDMQPSKCLD8A",
                "FLEX3WL3EMDMQPSKCLS8A",
                "FLEX3WL3EMDMQPSKCNTLS8A",
                "WL3EMDMQPSKCS8",
                "WL3EMDM16QAMCS6",
                "WL3EMDM16QAMCS7",
                "FLEX3WL3EMDM16QAMCNTLS6",
                "FLEX3WL3EMDM16QAMCNTLS7",
                "FLEX3WL3EMDM16QAMCLD6",
                "FLEX3WL3EMDM16QAMCLD7",
                "FLEX3WL3EMDM16QAMCLS6",
                "FLEX3WL3EMDM16QAMCLS7",
                "WL3NMDMQPSKCNTLS7",
                "FLEX3WL3MDMQPSKCLD2B_1862002901",
                "FLEX3WL3MDMQPSKCLD2B_1862003901",
                "FLEX3WL3MDMQPSKCLD1B_1862004900",
                "FLEX3WL3MDMQPSKCLD1B_1862005900",
                "FLEX3WL3MDM16QAMCLD2_1862002901",
                "FLEX3WL3MDM16QAMCLD2_1862003901",
                "FLEX3WL3MDM16QAMCLD1_1862004900",
                "FLEX3WL3MDM16QAMCLD1_1862005900",
                "WL3EMDM8QAMCLD1_1862004900",
                "WL3EMDM8QAMCLD1_1862005900",
                "WL3NMDM4ASKCS3",
                "WL3NMDM4ASKCLD3",
                "WL3NMDM4ASKCLS3",
                "WL3NMDM4ASKCNTLS7",
                "WL3NMDMQPSKCLD7",
                "WL3NMDMQPSKCLS7",
                "WL3NMDMQPSKCNTLS8",
                "WL3NMDMQPSKCS7",
                "WL3NMDMQPSKCLD8",
                "WL3NMDMQPSKCLS8",
                "WL3NMDMQPSKCNTLS9",
                "WL3NMDMQPSKCS8",
                "WL3NMDM4ASKCLD9",
                "WL3NMDM4ASKCLS9",
                "WL3NMDM4ASKCNTLS8",
                "WL3NMDM4ASKCS9",
                "WL3NMDMQPSKCLD1",
                "WL3NMDMQPSKCLD2",
                "WL3NMDM4ASKCLD4",
                "WL3NMDM4ASKCLD7",
                "WL3NMDMQPSKCLS1",
                "WL3NMDMQPSKCLS2",
                "WL3NMDM4ASKCLS4",
                "WL3NMDM4ASKCLS7",
                "WL3NMDMQPSKCS1",
                "WL3NMDMQPSKCS2",
                "WL3NMDM4ASKCS4",
                "WL3NMDM4ASKCS7",
                "FLEX3WL3EMDM16QAMCLD2WS",
                "FLEX3WL3EMDM16QAMCLS2WS",
                "FLEX3WL3EMDM16QAMCNTLS2WS",
                "WL3EMDM16QAMCS2WS",
                "FLEX3WL3EMDMQPSKCLD2AWS",
                "FLEX3WL3EMDMQPSKCLS2AWS",
                "FLEX3WL3EMDMQPSKCNTLS2AWS",
                "WL3EMDMQPSKCS2WS",
                "WL3EMDM8QAMCLD2WS",
                "WL3EMDM8QAMCLS2WS",
                "WL3EMDM8QAMCNTLS2WS",
                "WL3EMDM8QAMCS2WS",
                "FLEX3WL3EMDM16QAMCLD2WS_DC",
                "FLEX3WL3EMDM16QAMCLS2WS_DC",
                "FLEX3WL3EMDM16QAMCNTLS2WS_DC",
                "WL3EMDM16QAMCS2WS_DC",
                "FLEX3WL3EMDMQPSKCLD2AWS_DC",
                "FLEX3WL3EMDMQPSKCLS2AWS_DC",
                "FLEX3WL3EMDMQPSKCNTLS2AWS_DC",
                "WL3EMDMQPSKCS2WS_DC",
                "WL3EMDM8QAMCLD2WS_DC",
                "WL3EMDM8QAMCLS2WS_DC",
                "WL3EMDM8QAMCNTLS2WS_DC",
                "WL3EMDM8QAMCS2WS_DC",
                "WLCFP2ACOBQPSKCLD",
                "WLCFP2ACOBQPSKCLS",
                "WLCFP2ACOBQPSKCNTLS",
                "WLCFP2ACOCQPSKCLD",
                "WLCFP2ACOCQPSKCLS",
                "WLCFP2ACOCQPSKCNTLS",
                "WLCFP2ACOAQPSKCLD",
                "WLCFP2ACOAQPSKCLS",
                "WLCFP2ACOAQPSKCNTLS",
                "FLEX3WL3EMDMQPSKCLD1A_NTK539FJ",
                "FLEX3WL3EMDM16QAMCLD1_NTK539FJ",
                "FLEX3WL3EMDMQPSKCLD1A_1345550906",
                "FLEX3WL3EMDM16QAMCLD1_1345550907",
                "FLEX3WL3EMDM16QAMCLD3_1345550900",
                "FLEX3WL3EMDMQPSKCLD3A_SDD_1345550900",
                "FLEX3WL3EMDM16QAMCLD1_1345550901",
                "FLEX3WL3EMDMQPSKCLD1A_1345550901",
                "FLEX3WL3EMDM16QAMCLD2_1345550903",
                "FLEX3WL3EMDMQPSKCLD2A_1345550903",
                "FLEX3WL3EMDM16QAMCLD4_1345550904",
                "FLEX3WL3EMDMQPSKCLD4A_SDD_1345550904",
                "FLEX3WL3EMDM16QAMCLD5_1345550905",
                "FLEX3WL3EMDMQPSKCLD5A_1345550905",
                "FLEX3WL3EMDMQPSKCLD1A_NTK539UJ",
                "WLAI56GBd200GCLD",
                "WLAI56GBd200GCLS",
                "WLAI56GBd200GCNTLS",
                "WLAI56GBd200GCS",
                "WLAI56GBd300GCLD",
                "WLAI56GBd300GCLS",
                "WLAI56GBd300GCNTLS",
                "WLAI56GBd300GCS",
                "WLAI56GBd400GCLD",
                "WLAI56GBd400GCLS",
                "WLAI56GBd400GCNTLS",
                "WLAI56GBd400GCS",
                "WLAI35GBd200GCLD_V2_1",
                "WLAI35GBd200GCLS_V2_1",
                "WLAI35GBd200GCNTLS_V2_1",
                "WLAI35GBd200GCS_V2_1",
                "WLAI35GBd150GCLD_V2_1",
                "WLAI35GBd150GCLS_V2_1",
                "WLAI35GBd150GCNTLS_V2_1",
                "WLAI35GBd150GCS_V2_1",
                "WLAI56GBd200GCLD_1861600900",
                "WLAI56GBd200GCLD_1861601900",
                "WLAI56GBd200GCLD_1861602900",
                "WLAI56GBd200GCLD_1861603900",
                "WLAI56GBd300GCLD_1861600900",
                "WLAI56GBd300GCLD_1861601900",
                "WLAI56GBd300GCLD_1861602900",
                "WLAI56GBd300GCLD_1861603900",
                "WLAI56GBd400GCLD_1861600900",
                "WLAI56GBd400GCLD_1861601900",
                "WLAI56GBd400GCLD_1861602900",
                "WLAI56GBd400GCLD_1861603900",
                "WLCFP2ACOCQPSKCLD_1345560900",
                "FLEX3WL3MDMQPSKCNTLS6A",
                "WLAI56GBd150GCLD_V2_1",
                "WLAI56GBd150GCLS_V2_1",
                "WLAI56GBd150GCNTLS_V2_1",
                "WLAI56GBd150GCS_V2_1",
                "WLAI56GBd100GCLD_V2_1",
                "WLAI56GBd100GCLS_V2_1",
                "WLAI56GBd100GCNTLS_V2_1",
                "WLAI56GBd100GCS_V2_1",
                "WLAI35GBd250GCLD_V2_1",
                "WLAI35GBd250GCLS_V2_1",
                "WLAI35GBd250GCNTLS_V2_1",
                "WLAI35GBd250GCS_V2_1",
                "WLAI35GBd100GCLD_V2_1",
                "WLAI35GBd100GCLS_V2_1",
                "WLAI35GBd100GCNTLS_V2_1",
                "WLAI35GBd100GCS_V2_1",
                "WLAI56GBd350GCLD_V2_1",
                "WLAI56GBd350GCLS_V2_1",
                "WLAI56GBd350GCNTLS_V2_1",
                "WLAI56GBd350GCS_V2_1",
                "WLAI56GBd250GCLD_V2_1",
                "WLAI56GBd250GCLS_V2_1",
                "WLAI56GBd250GCNTLS_V2_1",
                "WLAI56GBd250GCS_V2_1",
                "WLAI56GBd200GCLD_V2_1",
                "WLAI56GBd200GCLS_V2_1",
                "WLAI56GBd200GCNTLS_V2_1",
                "WLAI56GBd200GCS_V2_1",
                "WLAI56GBd300GCLD_V2_1",
                "WLAI56GBd300GCLS_V2_1",
                "WLAI56GBd300GCNTLS_V2_1",
                "WLAI56GBd300GCS_V2_1",
                "WLAI56GBd400GCLD_V2_1",
                "WLAI56GBd400GCLS_V2_1",
                "WLAI56GBd400GCNTLS_V2_1",
                "WLAI56GBd400GCS_V2_1",
                "FLEX3WL3EMDMQPSKCLD2AWS_1862002902",
                "FLEX3WL3EMDMQPSKCLD2AWS_1862003902",
                "FLEX3WL3EMDM16QAMCLD2WS_1862002902",
                "FLEX3WL3EMDM16QAMCLD2WS_1862003902",
                "WLAI56GBd400GCLD_V2_2",
                "WLAI56GBd350GCLD_V2_2",
                "WLAI56GBd300GCLD_V2_2",
                "WLAI56GBd250GCLD_V2_2",
                "WLAI56GBd200GCLD_V2_2",
                "WLAI56GBd150GCLD_V2_2",
                "WLAI56GBd100GCLD_V2_2",
                "WLAI35GBd250GCLD_V2_2",
                "WLAI35GBd200GCLD_V2_2",
                "WLAI35GBd150GCLD_V2_2",
                "WLAI35GBd100GCLD_V2_2",
                "WLAI56GBd400GCLS_V2_2",
                "WLAI56GBd350GCLS_V2_2",
                "WLAI56GBd300GCLS_V2_2",
                "WLAI56GBd250GCLS_V2_2",
                "WLAI56GBd200GCLS_V2_2",
                "WLAI56GBd150GCLS_V2_2",
                "WLAI56GBd100GCLS_V2_2",
                "WLAI35GBd250GCLS_V2_2",
                "WLAI35GBd200GCLS_V2_2",
                "WLAI35GBd150GCLS_V2_2",
                "WLAI35GBd100GCLS_V2_2",
                "WLAI56GBd400GCNTLS_V2_2",
                "WLAI56GBd350GCNTLS_V2_2",
                "WLAI56GBd300GCNTLS_V2_2",
                "WLAI56GBd250GCNTLS_V2_2",
                "WLAI56GBd200GCNTLS_V2_2",
                "WLAI56GBd150GCNTLS_V2_2",
                "WLAI56GBd100GCNTLS_V2_2",
                "WLAI35GBd250GCNTLS_V2_2",
                "WLAI35GBd200GCNTLS_V2_2",
                "WLAI35GBd150GCNTLS_V2_2",
                "WLAI35GBd100GCNTLS_V2_2",
                "WLAI56GBd400GCS_V2_2",
                "WLAI56GBd350GCS_V2_2",
                "WLAI56GBd300GCS_V2_2",
                "WLAI56GBd250GCS_V2_2",
                "WLAI56GBd200GCS_V2_2",
                "WLAI56GBd150GCS_V2_2",
                "WLAI56GBd100GCS_V2_2",
                "WLAI35GBd250GCS_V2_2",
                "WLAI35GBd200GCS_V2_2",
                "WLAI35GBd150GCS_V2_2",
                "WLAI35GBd100GCS_V2_2",
                "WLAI56GBd400GCLD_V2_3",
                "WLAI56GBd350GCLD_V2_3",
                "WLAI56GBd300GCLD_V2_3",
                "WLAI56GBd250GCLD_V2_3",
                "WLAI56GBd200GCLD_V2_3",
                "WLAI56GBd150GCLD_V2_3",
                "WLAI56GBd100GCLD_V2_3",
                "WLAI35GBd250GCLD_V2_3",
                "WLAI35GBd200GCLD_V2_3",
                "WLAI35GBd150GCLD_V2_3",
                "WLAI35GBd100GCLD_V2_3",
                "WLAI56GBd400GCLS_V2_3",
                "WLAI56GBd350GCLS_V2_3",
                "WLAI56GBd300GCLS_V2_3",
                "WLAI56GBd250GCLS_V2_3",
                "WLAI56GBd200GCLS_V2_3",
                "WLAI56GBd150GCLS_V2_3",
                "WLAI56GBd100GCLS_V2_3",
                "WLAI35GBd250GCLS_V2_3",
                "WLAI35GBd200GCLS_V2_3",
                "WLAI35GBd150GCLS_V2_3",
                "WLAI35GBd100GCLS_V2_3",
                "WLAI56GBd400GCNTLS_V2_3",
                "WLAI56GBd350GCNTLS_V2_3",
                "WLAI56GBd300GCNTLS_V2_3",
                "WLAI56GBd250GCNTLS_V2_3",
                "WLAI56GBd200GCNTLS_V2_3",
                "WLAI56GBd150GCNTLS_V2_3",
                "WLAI56GBd100GCNTLS_V2_3",
                "WLAI35GBd250GCNTLS_V2_3",
                "WLAI35GBd200GCNTLS_V2_3",
                "WLAI35GBd150GCNTLS_V2_3",
                "WLAI35GBd100GCNTLS_V2_3",
                "WLAI56GBd400GCS_V2_3",
                "WLAI56GBd350GCS_V2_3",
                "WLAI56GBd300GCS_V2_3",
                "WLAI56GBd250GCS_V2_3",
                "WLAI56GBd200GCS_V2_3",
                "WLAI56GBd150GCS_V2_3",
                "WLAI56GBd100GCS_V2_3",
                "WLAI35GBd250GCS_V2_3",
                "WLAI35GBd200GCS_V2_3",
                "WLAI35GBd150GCS_V2_3",
                "WLAI35GBd100GCS_V2_3",
                "WLAI56GBd400GCLD_V2_4",
                "WLAI56GBd350GCLD_V2_4",
                "WLAI56GBd300GCLD_V2_4",
                "WLAI56GBd250GCLD_V2_4",
                "WLAI56GBd200GCLD_V2_4",
                "WLAI56GBd150GCLD_V2_4",
                "WLAI56GBd100GCLD_V2_4",
                "WLAI35GBd250GCLD_V2_4",
                "WLAI35GBd200GCLD_V2_4",
                "WLAI35GBd150GCLD_V2_4",
                "WLAI35GBd100GCLD_V2_4",
                "WLAI56GBd400GCLS_V2_4",
                "WLAI56GBd350GCLS_V2_4",
                "WLAI56GBd300GCLS_V2_4",
                "WLAI56GBd250GCLS_V2_4",
                "WLAI56GBd200GCLS_V2_4",
                "WLAI56GBd150GCLS_V2_4",
                "WLAI56GBd100GCLS_V2_4",
                "WLAI35GBd250GCLS_V2_4",
                "WLAI35GBd200GCLS_V2_4",
                "WLAI35GBd150GCLS_V2_4",
                "WLAI35GBd100GCLS_V2_4",
                "WLAI56GBd400GCNTLS_V2_4",
                "WLAI56GBd350GCNTLS_V2_4",
                "WLAI56GBd300GCNTLS_V2_4",
                "WLAI56GBd250GCNTLS_V2_4",
                "WLAI56GBd200GCNTLS_V2_4",
                "WLAI56GBd150GCNTLS_V2_4",
                "WLAI56GBd100GCNTLS_V2_4",
                "WLAI35GBd250GCNTLS_V2_4",
                "WLAI35GBd200GCNTLS_V2_4",
                "WLAI35GBd150GCNTLS_V2_4",
                "WLAI35GBd100GCNTLS_V2_4",
                "WLAI56GBd400GCS_V2_4",
                "WLAI56GBd350GCS_V2_4",
                "WLAI56GBd300GCS_V2_4",
                "WLAI56GBd250GCS_V2_4",
                "WLAI56GBd200GCS_V2_4",
                "WLAI56GBd150GCS_V2_4",
                "WLAI56GBd100GCS_V2_4",
                "WLAI35GBd250GCS_V2_4",
                "WLAI35GBd200GCS_V2_4",
                "WLAI35GBd150GCS_V2_4",
                "WLAI35GBd100GCS_V2_4",
                "WLCFP2ACOA4ASKCLD",
                "WLCFP2ACOA4ASKCLS",
                "WLCFP2ACOA4ASKCNTLS",
                "WLCFP2ACOA4ASKCLD2",
                "WLCFP2ACOA4ASKCLS2",
                "WLCFP2ACOA4ASKCNTLS2",
                "WLAI56GBd400GCLD_V2_1_NTK538FR",
                "WLAI56GBd350GCLD_V2_1_NTK538FR",
                "WLAI56GBd300GCLD_V2_1_NTK538FR",
                "WLAI56GBd250GCLD_V2_1_NTK538FR",
                "WLAI56GBd200GCLD_V2_1_NTK538FR",
                "WLAI56GBd150GCLD_V2_1_NTK538FR",
                "WLAI56GBd100GCLD_V2_1_NTK538FR",
                "WLAI35GBd250GCLD_V2_1_NTK538FR",
                "WLAI35GBd200GCLD_V2_1_NTK538FR",
                "WLAI35GBd150GCLD_V2_1_NTK538FR",
                "WLAI35GBd100GCLD_V2_1_NTK538FR",
                "WLAI56GBd400GCLD_V2_2_NTK538FR",
                "WLAI56GBd350GCLD_V2_2_NTK538FR",
                "WLAI56GBd300GCLD_V2_2_NTK538FR",
                "WLAI56GBd250GCLD_V2_2_NTK538FR",
                "WLAI56GBd200GCLD_V2_2_NTK538FR",
                "WLAI56GBd150GCLD_V2_2_NTK538FR",
                "WLAI56GBd100GCLD_V2_2_NTK538FR",
                "WLAI35GBd250GCLD_V2_2_NTK538FR",
                "WLAI35GBd200GCLD_V2_2_NTK538FR",
                "WLAI35GBd150GCLD_V2_2_NTK538FR",
                "WLAI35GBd100GCLD_V2_2_NTK538FR",
                "WLAI56GBd400GCLD_V2_1_186_1601_900",
                "WLAI56GBd300GCLD_V2_1_186_1601_900",
                "WLAI56GBd250GCLD_V2_1_186_1601_900",
                "WLAI56GBd200GCLD_V2_1_186_1601_900",
                "WLAI56GBd150GCLD_V2_1_186_1601_900",
                "WLAI35GBd200GCLD_V2_1_186_1601_900",
                "WLAI35GBd150GCLD_V2_1_186_1601_900",
                "WLAI56GBd400GCLD_V2_1_186_1603_900",
                "WLAI56GBd300GCLD_V2_1_186_1603_900",
                "WLAI56GBd250GCLD_V2_1_186_1603_900",
                "WLAI56GBd200GCLD_V2_1_186_1603_900",
                "WLAI56GBd150GCLD_V2_1_186_1603_900",
                "WLAI35GBd200GCLD_V2_1_186_1603_900",
                "WLAI35GBd150GCLD_V2_1_186_1603_900",
                "WLAI56GBd400GCLD_V2_2_186_1601_900",
                "WLAI56GBd350GCLD_V2_2_186_1601_900",
                "WLAI56GBd300GCLD_V2_2_186_1601_900",
                "WLAI56GBd250GCLD_V2_2_186_1601_900",
                "WLAI56GBd200GCLD_V2_2_186_1601_900",
                "WLAI56GBd150GCLD_V2_2_186_1601_900",
                "WLAI56GBd100GCLD_V2_2_186_1601_900",
                "WLAI35GBd250GCLD_V2_2_186_1601_900",
                "WLAI35GBd200GCLD_V2_2_186_1601_900",
                "WLAI35GBd150GCLD_V2_2_186_1601_900",
                "WLAI35GBd100GCLD_V2_2_186_1601_900",
                "WLAI56GBd400GCLD_V2_2_186_1603_900",
                "WLAI56GBd350GCLD_V2_2_186_1603_900",
                "WLAI56GBd300GCLD_V2_2_186_1603_900",
                "WLAI56GBd250GCLD_V2_2_186_1603_900",
                "WLAI56GBd200GCLD_V2_2_186_1603_900",
                "WLAI56GBd150GCLD_V2_2_186_1603_900",
                "WLAI56GBd100GCLD_V2_2_186_1603_900",
                "WLAI35GBd250GCLD_V2_2_186_1603_900",
                "WLAI35GBd200GCLD_V2_2_186_1603_900",
                "WLAI35GBd150GCLD_V2_2_186_1603_900",
                "WLAI35GBd100GCLD_V2_2_186_1603_900",
                "WLAI56GBd350GCLD_V2_1_186_1601_900",
                "WLAI56GBd100GCLD_V2_1_186_1601_900",
                "WLAI35GBd250GCLD_V2_1_186_1601_900",
                "WLAI35GBd100GCLD_V2_1_186_1601_900",
                "WLAI56GBd350GCLD_V2_1_186_1603_900",
                "WLAI56GBd100GCLD_V2_1_186_1603_900",
                "WLAI35GBd250GCLD_V2_1_186_1603_900",
                "WLAI35GBd100GCLD_V2_1_186_1603_900",
                "WL3EMDM8QAMCLD2WS_1862002902",
                "WL3EMDM8QAMCLD2WS_1862003902",
                "WLAI56GBd200GCLD_1861606900",
                "WLAI56GBd300GCLD_1861606900",
                "WLAI56GBd400GCLD_1861606900",
                "WLAI56GBd400GCLD_V2_1_186_1606_900",
                "WLAI56GBd350GCLD_V2_1_186_1606_900",
                "WLAI56GBd300GCLD_V2_1_186_1606_900",
                "WLAI56GBd250GCLD_V2_1_186_1606_900",
                "WLAI56GBd200GCLD_V2_1_186_1606_900",
                "WLAI56GBd150GCLD_V2_1_186_1606_900",
                "WLAI56GBd100GCLD_V2_1_186_1606_900",
                "WLAI35GBd250GCLD_V2_1_186_1606_900",
                "WLAI35GBd200GCLD_V2_1_186_1606_900",
                "WLAI35GBd200GCLD_V2_2_186_1606_900",
                "WLAI35GBd150GCLD_V2_1_186_1606_900",
                "WLAI35GBd100GCLD_V2_1_186_1606_900",
                "WLAI56GBd400GCLD_V2_2_186_1606_900",
                "WLAI56GBd350GCLD_V2_2_186_1606_900",
                "WLAI56GBd300GCLD_V2_2_186_1606_900",
                "WLAI56GBd250GCLD_V2_2_186_1606_900",
                "WLAI56GBd200GCLD_V2_2_186_1606_900",
                "WLAI56GBd150GCLD_V2_2_186_1606_900",
                "WLAI56GBd100GCLD_V2_2_186_1606_900",
                "WLAI35GBd250GCLD_V2_2_186_1606_900",
                "WLAI35GBd150GCLD_V2_2_186_1606_900",
                "WLAI35GBd100GCLD_V2_2_186_1606_900",
                "WLAI56GBd200GCLD_1920001900",
                "WLAI56GBd300GCLD_1920001900",
                "WLAI56GBd400GCLD_1920001900",
                "WLAI56GBd400GCLD_V2_1_192_0001_900",
                "WLAI56GBd350GCLD_V2_1_192_0001_900",
                "WLAI56GBd300GCLD_V2_1_192_0001_900",
                "WLAI56GBd250GCLD_V2_1_192_0001_900",
                "WLAI56GBd200GCLD_V2_1_192_0001_900",
                "WLAI56GBd150GCLD_V2_1_192_0001_900",
                "WLAI56GBd100GCLD_V2_1_192_0001_900",
                "WLAI35GBd250GCLD_V2_1_192_0001_900",
                "WLAI35GBd200GCLD_V2_1_192_0001_900",
                "WLAI35GBd200GCLD_V2_2_192_0001_900",
                "WLAI35GBd150GCLD_V2_1_192_0001_900",
                "WLAI35GBd100GCLD_V2_1_192_0001_900",
                "WLAI56GBd400GCLD_V2_2_192_0001_900",
                "WLAI56GBd350GCLD_V2_2_192_0001_900",
                "WLAI56GBd300GCLD_V2_2_192_0001_900",
                "WLAI56GBd250GCLD_V2_2_192_0001_900",
                "WLAI56GBd200GCLD_V2_2_192_0001_900",
                "WLAI56GBd150GCLD_V2_2_192_0001_900",
                "WLAI56GBd100GCLD_V2_2_192_0001_900",
                "WLAI35GBd250GCLD_V2_2_192_0001_900",
                "WLAI35GBd150GCLD_V2_2_192_0001_900",
                "WLAI35GBd100GCLD_V2_2_192_0001_900",
                "WL5nCFP2DCO28GBd100GCLD_1",
                "WL5nCFP2DCO32GBd100GCLD_1",
                "WL5nCFP2DCO32GBd200GCLD_1",
                "WL5nCFP2DCO28GBd100GCLD_1_180_2111_900",
                "WL5nCFP2DCO28GBd100GCLD_1_180_2110_900",
                "WL5nCFP2DCO28GBd100GCLD_1_180_2120_900",
                "WL5nCFP2DCO32GBd100GCLD_1_180_2120_900",
                "WL5nCFP2DCO32GBd200GCLD_1_180_2120_900",
                "WLAI56GBd100GCLD_V2_1_174_0650_900",
                "WLAI56GBd150GCLD_V2_1_174_0650_900",
                "WLAI56GBd200GCLD_V2_1_174_0650_900",
                "WLAI56GBd250GCLD_V2_1_174_0650_900",
                "WLAI56GBd300GCLD_V2_1_174_0650_900",
                "WLAI56GBd350GCLD_V2_1_174_0650_900",
                "WLAI56GBd400GCLD_V2_1_174_0650_900",
                "WLAI35GBd100GCLD_V2_1_174_0650_900",
                "WLAI35GBd200GCLD_V2_1_174_0650_900",
                "WLAI56GBd400GCLS_V2_1_174_0650_900",
                "WLAI56GBd350GCLS_V2_1_174_0650_900",
                "WLAI56GBd300GCLS_V2_1_174_0650_900",
                "WLAI56GBd250GCLS_V2_1_174_0650_900",
                "WLAI56GBd200GCLS_V2_1_174_0650_900",
                "WLAI56GBd150GCLS_V2_1_174_0650_900",
                "WLAI56GBd100GCLS_V2_1_174_0650_900",
                "WLAI35GBd200GCLS_V2_1_174_0650_900",
                "WLAI35GBd100GCLS_V2_1_174_0650_900",
                "WLAI56GBd400GCNTLS_V2_1_174_0650_900",
                "WLAI56GBd350GCNTLS_V2_1_174_0650_900",
                "WLAI56GBd300GCNTLS_V2_1_174_0650_900",
                "WLAI56GBd250GCNTLS_V2_1_174_0650_900",
                "WLAI56GBd200GCNTLS_V2_1_174_0650_900",
                "WLAI56GBd150GCNTLS_V2_1_174_0650_900",
                "WLAI56GBd100GCNTLS_V2_1_174_0650_900",
                "WLAI35GBd200GCNTLS_V2_1_174_0650_900",
                "WLAI35GBd100GCNTLS_V2_1_174_0650_900",
                "WLAI56GBd400GCS_V2_1_174_0650_900",
                "WLAI56GBd350GCS_V2_1_174_0650_900",
                "WLAI56GBd300GCS_V2_1_174_0650_900",
                "WLAI56GBd250GCS_V2_1_174_0650_900",
                "WLAI56GBd200GCS_V2_1_174_0650_900",
                "WLAI56GBd150GCS_V2_1_174_0650_900",
                "WLAI56GBd100GCS_V2_1_174_0650_900",
                "WLAI35GBd200GCS_V2_1_174_0650_900",
                "WLAI35GBd100GCS_V2_1_174_0650_900",
                "WLAI35GBd250GCLD_V2_1_174_0650_900",
                "WLAI35GBd150GCLD_V2_1_174_0650_900",
                "WLAI35GBd250GCLS_V2_1_174_0650_900",
                "WLAI35GBd150GCLS_V2_1_174_0650_900",
                "WLAI35GBd250GCNTLS_V2_1_174_0650_900",
                "WLAI35GBd150GCNTLS_V2_1_174_0650_900",
                "WLAI35GBd250GCS_V2_1_174_0650_900",
                "WLAI35GBd150GCS_V2_1_174_0650_900",
                "WL5e95GBd200GCLD1_O",
                "WL5e95GBd250GCLD1_O",
                "WL5e95GBd300GCLD1_O",
                "WL5e95GBd350GCLD1_O",
                "WL5e95GBd400GCLD1_O",
                "WL5e95GBd450GCLD1_O",
                "WL5e95GBd500GCLD1_O",
                "WL5e95GBd550GCLD1_O",
                "WL5e95GBd600GCLD1_O",
                "WL5e95GBd650GCLD1_O",
                "WL5e95GBd700GCLD1_O",
                "WL5e95GBd750GCLD1_O",
                "WL5e95GBd800GCLD1_O",
                "WL5e95GBd200GCLD1_E",
                "WL5e95GBd250GCLD1_E",
                "WL5e95GBd300GCLD1_E",
                "WL5e95GBd350GCLD1_E",
                "WL5e95GBd400GCLD1_E",
                "WL5e95GBd450GCLD1_E",
                "WL5e95GBd500GCLD1_E",
                "WL5e95GBd550GCLD1_E",
                "WL5e95GBd600GCLD1_E",
                "WL5e95GBd650GCLD1_E",
                "WL5e95GBd700GCLD1_E",
                "WL5e95GBd750GCLD1_E",
                "WL5e95GBd800GCLD1_E",
                "WL5e95GBd200GCLS1_O",
                "WL5e95GBd250GCLS1_O",
                "WL5e95GBd300GCLS1_O",
                "WL5e95GBd350GCLS1_O",
                "WL5e95GBd400GCLS1_O",
                "WL5e95GBd450GCLS1_O",
                "WL5e95GBd500GCLS1_O",
                "WL5e95GBd550GCLS1_O",
                "WL5e95GBd600GCLS1_O",
                "WL5e95GBd650GCLS1_O",
                "WL5e95GBd700GCLS1_O",
                "WL5e95GBd750GCLS1_O",
                "WL5e95GBd800GCLS1_O",
                "WL5e95GBd200GCLS1_E",
                "WL5e95GBd250GCLS1_E",
                "WL5e95GBd300GCLS1_E",
                "WL5e95GBd350GCLS1_E",
                "WL5e95GBd400GCLS1_E",
                "WL5e95GBd450GCLS1_E",
                "WL5e95GBd500GCLS1_E",
                "WL5e95GBd550GCLS1_E",
                "WL5e95GBd600GCLS1_E",
                "WL5e95GBd650GCLS1_E",
                "WL5e95GBd700GCLS1_E",
                "WL5e95GBd750GCLS1_E",
                "WL5e95GBd800GCLS1_E",
                "WL5e95GBd200GCNTLS1_O",
                "WL5e95GBd250GCNTLS1_O",
                "WL5e95GBd300GCNTLS1_O",
                "WL5e95GBd350GCNTLS1_O",
                "WL5e95GBd400GCNTLS1_O",
                "WL5e95GBd450GCNTLS1_O",
                "WL5e95GBd500GCNTLS1_O",
                "WL5e95GBd550GCNTLS1_O",
                "WL5e95GBd600GCNTLS1_O",
                "WL5e95GBd650GCNTLS1_O",
                "WL5e95GBd700GCNTLS1_O",
                "WL5e95GBd750GCNTLS1_O",
                "WL5e95GBd800GCNTLS1_O",
                "WL5e95GBd200GCNTLS1_E",
                "WL5e95GBd250GCNTLS1_E",
                "WL5e95GBd300GCNTLS1_E",
                "WL5e95GBd350GCNTLS1_E",
                "WL5e95GBd400GCNTLS1_E",
                "WL5e95GBd450GCNTLS1_E",
                "WL5e95GBd500GCNTLS1_E",
                "WL5e95GBd550GCNTLS1_E",
                "WL5e95GBd600GCNTLS1_E",
                "WL5e95GBd650GCNTLS1_E",
                "WL5e95GBd700GCNTLS1_E",
                "WL5e95GBd750GCNTLS1_E",
                "WL5e95GBd800GCNTLS1_E",
                "WL5e95GBd200GCS1_O",
                "WL5e95GBd250GCS1_O",
                "WL5e95GBd300GCS1_O",
                "WL5e95GBd350GCS1_O",
                "WL5e95GBd400GCS1_O",
                "WL5e95GBd450GCS1_O",
                "WL5e95GBd500GCS1_O",
                "WL5e95GBd550GCS1_O",
                "WL5e95GBd600GCS1_O",
                "WL5e95GBd650GCS1_O",
                "WL5e95GBd700GCS1_O",
                "WL5e95GBd750GCS1_O",
                "WL5e95GBd800GCS1_O",
                "WL5e95GBd200GCS1_E",
                "WL5e95GBd250GCS1_E",
                "WL5e95GBd300GCS1_E",
                "WL5e95GBd350GCS1_E",
                "WL5e95GBd400GCS1_E",
                "WL5e95GBd450GCS1_E",
                "WL5e95GBd500GCS1_E",
                "WL5e95GBd550GCS1_E",
                "WL5e95GBd600GCS1_E",
                "WL5e95GBd650GCS1_E",
                "WL5e95GBd700GCS1_E",
                "WL5e95GBd750GCS1_E",
                "WL5e95GBd800GCS1_E",
                "WL5e95GBd200GCLD2_O",
                "WL5e95GBd250GCLD2_O",
                "WL5e95GBd300GCLD2_O",
                "WL5e95GBd350GCLD2_O",
                "WL5e95GBd400GCLD2_O",
                "WL5e95GBd450GCLD2_O",
                "WL5e95GBd500GCLD2_O",
                "WL5e95GBd550GCLD2_O",
                "WL5e95GBd600GCLD2_O",
                "WL5e95GBd650GCLD2_O",
                "WL5e95GBd700GCLD2_O",
                "WL5e95GBd750GCLD2_O",
                "WL5e95GBd800GCLD2_O",
                "WL5e95GBd200GCLD2_E",
                "WL5e95GBd250GCLD2_E",
                "WL5e95GBd300GCLD2_E",
                "WL5e95GBd350GCLD2_E",
                "WL5e95GBd400GCLD2_E",
                "WL5e95GBd450GCLD2_E",
                "WL5e95GBd500GCLD2_E",
                "WL5e95GBd550GCLD2_E",
                "WL5e95GBd600GCLD2_E",
                "WL5e95GBd650GCLD2_E",
                "WL5e95GBd700GCLD2_E",
                "WL5e95GBd750GCLD2_E",
                "WL5e95GBd800GCLD2_E",
                "WL5e95GBd200GCLS2_O",
                "WL5e95GBd250GCLS2_O",
                "WL5e95GBd300GCLS2_O",
                "WL5e95GBd350GCLS2_O",
                "WL5e95GBd400GCLS2_O",
                "WL5e95GBd450GCLS2_O",
                "WL5e95GBd500GCLS2_O",
                "WL5e95GBd550GCLS2_O",
                "WL5e95GBd600GCLS2_O",
                "WL5e95GBd650GCLS2_O",
                "WL5e95GBd700GCLS2_O",
                "WL5e95GBd750GCLS2_O",
                "WL5e95GBd800GCLS2_O",
                "WL5e95GBd200GCLS2_E",
                "WL5e95GBd250GCLS2_E",
                "WL5e95GBd300GCLS2_E",
                "WL5e95GBd350GCLS2_E",
                "WL5e95GBd400GCLS2_E",
                "WL5e95GBd450GCLS2_E",
                "WL5e95GBd500GCLS2_E",
                "WL5e95GBd550GCLS2_E",
                "WL5e95GBd600GCLS2_E",
                "WL5e95GBd650GCLS2_E",
                "WL5e95GBd700GCLS2_E",
                "WL5e95GBd750GCLS2_E",
                "WL5e95GBd800GCLS2_E",
                "WL5e95GBd200GCNTLS2_O",
                "WL5e95GBd250GCNTLS2_O",
                "WL5e95GBd300GCNTLS2_O",
                "WL5e95GBd350GCNTLS2_O",
                "WL5e95GBd400GCNTLS2_O",
                "WL5e95GBd450GCNTLS2_O",
                "WL5e95GBd500GCNTLS2_O",
                "WL5e95GBd550GCNTLS2_O",
                "WL5e95GBd600GCNTLS2_O",
                "WL5e95GBd650GCNTLS2_O",
                "WL5e95GBd700GCNTLS2_O",
                "WL5e95GBd750GCNTLS2_O",
                "WL5e95GBd800GCNTLS2_O",
                "WL5e95GBd200GCNTLS2_E",
                "WL5e95GBd250GCNTLS2_E",
                "WL5e95GBd300GCNTLS2_E",
                "WL5e95GBd350GCNTLS2_E",
                "WL5e95GBd400GCNTLS2_E",
                "WL5e95GBd450GCNTLS2_E",
                "WL5e95GBd500GCNTLS2_E",
                "WL5e95GBd550GCNTLS2_E",
                "WL5e95GBd600GCNTLS2_E",
                "WL5e95GBd650GCNTLS2_E",
                "WL5e95GBd700GCNTLS2_E",
                "WL5e95GBd750GCNTLS2_E",
                "WL5e95GBd800GCNTLS2_E",
                "WL5e95GBd200GCS2_O",
                "WL5e95GBd250GCS2_O",
                "WL5e95GBd300GCS2_O",
                "WL5e95GBd350GCS2_O",
                "WL5e95GBd400GCS2_O",
                "WL5e95GBd450GCS2_O",
                "WL5e95GBd500GCS2_O",
                "WL5e95GBd550GCS2_O",
                "WL5e95GBd600GCS2_O",
                "WL5e95GBd650GCS2_O",
                "WL5e95GBd700GCS2_O",
                "WL5e95GBd750GCS2_O",
                "WL5e95GBd800GCS2_O",
                "WL5e95GBd200GCS2_E",
                "WL5e95GBd250GCS2_E",
                "WL5e95GBd300GCS2_E",
                "WL5e95GBd350GCS2_E",
                "WL5e95GBd400GCS2_E",
                "WL5e95GBd450GCS2_E",
                "WL5e95GBd500GCS2_E",
                "WL5e95GBd550GCS2_E",
                "WL5e95GBd600GCS2_E",
                "WL5e95GBd650GCS2_E",
                "WL5e95GBd700GCS2_E",
                "WL5e95GBd750GCS2_E",
                "WL5e95GBd800GCS2_E",
                "WL5e95GBd200GCLD3_O",
                "WL5e95GBd250GCLD3_O",
                "WL5e95GBd300GCLD3_O",
                "WL5e95GBd350GCLD3_O",
                "WL5e95GBd400GCLD3_O",
                "WL5e95GBd450GCLD3_O",
                "WL5e95GBd500GCLD3_O",
                "WL5e95GBd550GCLD3_O",
                "WL5e95GBd600GCLD3_O",
                "WL5e95GBd650GCLD3_O",
                "WL5e95GBd700GCLD3_O",
                "WL5e95GBd750GCLD3_O",
                "WL5e95GBd800GCLD3_O",
                "WL5e95GBd200GCLD3_E",
                "WL5e95GBd250GCLD3_E",
                "WL5e95GBd300GCLD3_E",
                "WL5e95GBd350GCLD3_E",
                "WL5e95GBd400GCLD3_E",
                "WL5e95GBd450GCLD3_E",
                "WL5e95GBd500GCLD3_E",
                "WL5e95GBd550GCLD3_E",
                "WL5e95GBd600GCLD3_E",
                "WL5e95GBd650GCLD3_E",
                "WL5e95GBd700GCLD3_E",
                "WL5e95GBd750GCLD3_E",
                "WL5e95GBd800GCLD3_E",
                "WL5e95GBd200GCLS3_O",
                "WL5e95GBd250GCLS3_O",
                "WL5e95GBd300GCLS3_O",
                "WL5e95GBd350GCLS3_O",
                "WL5e95GBd400GCLS3_O",
                "WL5e95GBd450GCLS3_O",
                "WL5e95GBd500GCLS3_O",
                "WL5e95GBd550GCLS3_O",
                "WL5e95GBd600GCLS3_O",
                "WL5e95GBd650GCLS3_O",
                "WL5e95GBd700GCLS3_O",
                "WL5e95GBd750GCLS3_O",
                "WL5e95GBd800GCLS3_O",
                "WL5e95GBd200GCLS3_E",
                "WL5e95GBd250GCLS3_E",
                "WL5e95GBd300GCLS3_E",
                "WL5e95GBd350GCLS3_E",
                "WL5e95GBd400GCLS3_E",
                "WL5e95GBd450GCLS3_E",
                "WL5e95GBd500GCLS3_E",
                "WL5e95GBd550GCLS3_E",
                "WL5e95GBd600GCLS3_E",
                "WL5e95GBd650GCLS3_E",
                "WL5e95GBd700GCLS3_E",
                "WL5e95GBd750GCLS3_E",
                "WL5e95GBd800GCLS3_E",
                "WL5e95GBd200GCNTLS3_O",
                "WL5e95GBd250GCNTLS3_O",
                "WL5e95GBd300GCNTLS3_O",
                "WL5e95GBd350GCNTLS3_O",
                "WL5e95GBd400GCNTLS3_O",
                "WL5e95GBd450GCNTLS3_O",
                "WL5e95GBd500GCNTLS3_O",
                "WL5e95GBd550GCNTLS3_O",
                "WL5e95GBd600GCNTLS3_O",
                "WL5e95GBd650GCNTLS3_O",
                "WL5e95GBd700GCNTLS3_O",
                "WL5e95GBd750GCNTLS3_O",
                "WL5e95GBd800GCNTLS3_O",
                "WL5e95GBd200GCNTLS3_E",
                "WL5e95GBd250GCNTLS3_E",
                "WL5e95GBd300GCNTLS3_E",
                "WL5e95GBd350GCNTLS3_E",
                "WL5e95GBd400GCNTLS3_E",
                "WL5e95GBd450GCNTLS3_E",
                "WL5e95GBd500GCNTLS3_E",
                "WL5e95GBd550GCNTLS3_E",
                "WL5e95GBd600GCNTLS3_E",
                "WL5e95GBd650GCNTLS3_E",
                "WL5e95GBd700GCNTLS3_E",
                "WL5e95GBd750GCNTLS3_E",
                "WL5e95GBd800GCNTLS3_E",
                "WL5e95GBd200GCS3_O",
                "WL5e95GBd250GCS3_O",
                "WL5e95GBd300GCS3_O",
                "WL5e95GBd350GCS3_O",
                "WL5e95GBd400GCS3_O",
                "WL5e95GBd450GCS3_O",
                "WL5e95GBd500GCS3_O",
                "WL5e95GBd550GCS3_O",
                "WL5e95GBd600GCS3_O",
                "WL5e95GBd650GCS3_O",
                "WL5e95GBd700GCS3_O",
                "WL5e95GBd750GCS3_O",
                "WL5e95GBd800GCS3_O",
                "WL5e95GBd200GCS3_E",
                "WL5e95GBd250GCS3_E",
                "WL5e95GBd300GCS3_E",
                "WL5e95GBd350GCS3_E",
                "WL5e95GBd400GCS3_E",
                "WL5e95GBd450GCS3_E",
                "WL5e95GBd500GCS3_E",
                "WL5e95GBd550GCS3_E",
                "WL5e95GBd600GCS3_E",
                "WL5e95GBd650GCS3_E",
                "WL5e95GBd700GCS3_E",
                "WL5e95GBd750GCS3_E",
                "WL5e95GBd800GCS3_E",
                "WL5e95GBd200GCLD4_O",
                "WL5e95GBd250GCLD4_O",
                "WL5e95GBd300GCLD4_O",
                "WL5e95GBd350GCLD4_O",
                "WL5e95GBd400GCLD4_O",
                "WL5e95GBd450GCLD4_O",
                "WL5e95GBd500GCLD4_O",
                "WL5e95GBd550GCLD4_O",
                "WL5e95GBd600GCLD4_O",
                "WL5e95GBd650GCLD4_O",
                "WL5e95GBd700GCLD4_O",
                "WL5e95GBd750GCLD4_O",
                "WL5e95GBd800GCLD4_O",
                "WL5e95GBd200GCLD4_E",
                "WL5e95GBd250GCLD4_E",
                "WL5e95GBd300GCLD4_E",
                "WL5e95GBd350GCLD4_E",
                "WL5e95GBd400GCLD4_E",
                "WL5e95GBd450GCLD4_E",
                "WL5e95GBd500GCLD4_E",
                "WL5e95GBd550GCLD4_E",
                "WL5e95GBd600GCLD4_E",
                "WL5e95GBd650GCLD4_E",
                "WL5e95GBd700GCLD4_E",
                "WL5e95GBd750GCLD4_E",
                "WL5e95GBd800GCLD4_E",
                "WL5e95GBd200GCLS4_O",
                "WL5e95GBd250GCLS4_O",
                "WL5e95GBd300GCLS4_O",
                "WL5e95GBd350GCLS4_O",
                "WL5e95GBd400GCLS4_O",
                "WL5e95GBd450GCLS4_O",
                "WL5e95GBd500GCLS4_O",
                "WL5e95GBd550GCLS4_O",
                "WL5e95GBd600GCLS4_O",
                "WL5e95GBd650GCLS4_O",
                "WL5e95GBd700GCLS4_O",
                "WL5e95GBd750GCLS4_O",
                "WL5e95GBd800GCLS4_O",
                "WL5e95GBd200GCLS4_E",
                "WL5e95GBd250GCLS4_E",
                "WL5e95GBd300GCLS4_E",
                "WL5e95GBd350GCLS4_E",
                "WL5e95GBd400GCLS4_E",
                "WL5e95GBd450GCLS4_E",
                "WL5e95GBd500GCLS4_E",
                "WL5e95GBd550GCLS4_E",
                "WL5e95GBd600GCLS4_E",
                "WL5e95GBd650GCLS4_E",
                "WL5e95GBd700GCLS4_E",
                "WL5e95GBd750GCLS4_E",
                "WL5e95GBd800GCLS4_E",
                "WL5e95GBd200GCNTLS4_O",
                "WL5e95GBd250GCNTLS4_O",
                "WL5e95GBd300GCNTLS4_O",
                "WL5e95GBd350GCNTLS4_O",
                "WL5e95GBd400GCNTLS4_O",
                "WL5e95GBd450GCNTLS4_O",
                "WL5e95GBd500GCNTLS4_O",
                "WL5e95GBd550GCNTLS4_O",
                "WL5e95GBd600GCNTLS4_O",
                "WL5e95GBd650GCNTLS4_O",
                "WL5e95GBd700GCNTLS4_O",
                "WL5e95GBd750GCNTLS4_O",
                "WL5e95GBd800GCNTLS4_O",
                "WL5e95GBd200GCNTLS4_E",
                "WL5e95GBd250GCNTLS4_E",
                "WL5e95GBd300GCNTLS4_E",
                "WL5e95GBd350GCNTLS4_E",
                "WL5e95GBd400GCNTLS4_E",
                "WL5e95GBd450GCNTLS4_E",
                "WL5e95GBd500GCNTLS4_E",
                "WL5e95GBd550GCNTLS4_E",
                "WL5e95GBd600GCNTLS4_E",
                "WL5e95GBd650GCNTLS4_E",
                "WL5e95GBd700GCNTLS4_E",
                "WL5e95GBd750GCNTLS4_E",
                "WL5e95GBd800GCNTLS4_E",
                "WL5e95GBd200GCS4_O",
                "WL5e95GBd250GCS4_O",
                "WL5e95GBd300GCS4_O",
                "WL5e95GBd350GCS4_O",
                "WL5e95GBd400GCS4_O",
                "WL5e95GBd450GCS4_O",
                "WL5e95GBd500GCS4_O",
                "WL5e95GBd550GCS4_O",
                "WL5e95GBd600GCS4_O",
                "WL5e95GBd650GCS4_O",
                "WL5e95GBd700GCS4_O",
                "WL5e95GBd750GCS4_O",
                "WL5e95GBd800GCS4_O",
                "WL5e95GBd200GCS4_E",
                "WL5e95GBd250GCS4_E",
                "WL5e95GBd300GCS4_E",
                "WL5e95GBd350GCS4_E",
                "WL5e95GBd400GCS4_E",
                "WL5e95GBd450GCS4_E",
                "WL5e95GBd500GCS4_E",
                "WL5e95GBd550GCS4_E",
                "WL5e95GBd600GCS4_E",
                "WL5e95GBd650GCS4_E",
                "WL5e95GBd700GCS4_E",
                "WL5e95GBd750GCS4_E",
                "WL5e95GBd800GCS4_E",
                "WL5nCFP2DCO28GBd100GCLD_180_2130_900",
                "WL5nCFP2DCO32GBd100GCLD_180_2130_900",
                "WL5nCFP2DCO28GBd100GCLS_180_2130_900",
                "WL5nCFP2DCO32GBd100GCLS_180_2130_900",
                "WL5nCFP2DCO28GBd100GCNTLS_180_2130_900",
                "WL5nCFP2DCO32GBd100GCNTLS_180_2130_900",
                "WL5nCFP2DCO28GBd100GCS_180_2130_900",
                "WL5nCFP2DCO32GBd100GCS_180_2130_900",
                "WL5e95GBd200GCLD5_O",
                "WL5e95GBd250GCLD5_O",
                "WL5e95GBd300GCLD5_O",
                "WL5e95GBd350GCLD5_O",
                "WL5e95GBd400GCLD5_O",
                "WL5e95GBd450GCLD5_O",
                "WL5e95GBd500GCLD5_O",
                "WL5e95GBd550GCLD5_O",
                "WL5e95GBd600GCLD5_O",
                "WL5e95GBd650GCLD5_O",
                "WL5e95GBd700GCLD5_O",
                "WL5e95GBd750GCLD5_O",
                "WL5e95GBd800GCLD5_O",
                "WL5e95GBd200GCLD5_E",
                "WL5e95GBd250GCLD5_E",
                "WL5e95GBd300GCLD5_E",
                "WL5e95GBd350GCLD5_E",
                "WL5e95GBd400GCLD5_E",
                "WL5e95GBd450GCLD5_E",
                "WL5e95GBd500GCLD5_E",
                "WL5e95GBd550GCLD5_E",
                "WL5e95GBd600GCLD5_E",
                "WL5e95GBd650GCLD5_E",
                "WL5e95GBd700GCLD5_E",
                "WL5e95GBd750GCLD5_E",
                "WL5e95GBd800GCLD5_E",
                "WL5e95GBd200GCLS5_O",
                "WL5e95GBd250GCLS5_O",
                "WL5e95GBd300GCLS5_O",
                "WL5e95GBd350GCLS5_O",
                "WL5e95GBd400GCLS5_O",
                "WL5e95GBd450GCLS5_O",
                "WL5e95GBd500GCLS5_O",
                "WL5e95GBd550GCLS5_O",
                "WL5e95GBd600GCLS5_O",
                "WL5e95GBd650GCLS5_O",
                "WL5e95GBd700GCLS5_O",
                "WL5e95GBd750GCLS5_O",
                "WL5e95GBd800GCLS5_O",
                "WL5e95GBd200GCLS5_E",
                "WL5e95GBd250GCLS5_E",
                "WL5e95GBd300GCLS5_E",
                "WL5e95GBd350GCLS5_E",
                "WL5e95GBd400GCLS5_E",
                "WL5e95GBd450GCLS5_E",
                "WL5e95GBd500GCLS5_E",
                "WL5e95GBd550GCLS5_E",
                "WL5e95GBd600GCLS5_E",
                "WL5e95GBd650GCLS5_E",
                "WL5e95GBd700GCLS5_E",
                "WL5e95GBd750GCLS5_E",
                "WL5e95GBd800GCLS5_E",
                "WL5e95GBd200GCNTLS5_O",
                "WL5e95GBd250GCNTLS5_O",
                "WL5e95GBd300GCNTLS5_O",
                "WL5e95GBd350GCNTLS5_O",
                "WL5e95GBd400GCNTLS5_O",
                "WL5e95GBd450GCNTLS5_O",
                "WL5e95GBd500GCNTLS5_O",
                "WL5e95GBd550GCNTLS5_O",
                "WL5e95GBd600GCNTLS5_O",
                "WL5e95GBd650GCNTLS5_O",
                "WL5e95GBd700GCNTLS5_O",
                "WL5e95GBd750GCNTLS5_O",
                "WL5e95GBd800GCNTLS5_O",
                "WL5e95GBd200GCNTLS5_E",
                "WL5e95GBd250GCNTLS5_E",
                "WL5e95GBd300GCNTLS5_E",
                "WL5e95GBd350GCNTLS5_E",
                "WL5e95GBd400GCNTLS5_E",
                "WL5e95GBd450GCNTLS5_E",
                "WL5e95GBd500GCNTLS5_E",
                "WL5e95GBd550GCNTLS5_E",
                "WL5e95GBd600GCNTLS5_E",
                "WL5e95GBd650GCNTLS5_E",
                "WL5e95GBd700GCNTLS5_E",
                "WL5e95GBd750GCNTLS5_E",
                "WL5e95GBd800GCNTLS5_E",
                "WL5e95GBd200GCS5_O",
                "WL5e95GBd250GCS5_O",
                "WL5e95GBd300GCS5_O",
                "WL5e95GBd350GCS5_O",
                "WL5e95GBd400GCS5_O",
                "WL5e95GBd450GCS5_O",
                "WL5e95GBd500GCS5_O",
                "WL5e95GBd550GCS5_O",
                "WL5e95GBd600GCS5_O",
                "WL5e95GBd650GCS5_O",
                "WL5e95GBd700GCS5_O",
                "WL5e95GBd750GCS5_O",
                "WL5e95GBd800GCS5_O",
                "WL5e95GBd200GCS5_E",
                "WL5e95GBd250GCS5_E",
                "WL5e95GBd300GCS5_E",
                "WL5e95GBd350GCS5_E",
                "WL5e95GBd400GCS5_E",
                "WL5e95GBd450GCS5_E",
                "WL5e95GBd500GCS5_E",
                "WL5e95GBd550GCS5_E",
                "WL5e95GBd600GCS5_E",
                "WL5e95GBd650GCS5_E",
                "WL5e95GBd700GCS5_E",
                "WL5e95GBd750GCS5_E",
                "WL5e95GBd800GCS5_E",
                "WL5e95GBd200GCLD6_O",
                "WL5e95GBd250GCLD6_O",
                "WL5e95GBd300GCLD6_O",
                "WL5e95GBd350GCLD6_O",
                "WL5e95GBd400GCLD6_O",
                "WL5e95GBd450GCLD6_O",
                "WL5e95GBd500GCLD6_O",
                "WL5e95GBd550GCLD6_O",
                "WL5e95GBd600GCLD6_O",
                "WL5e95GBd650GCLD6_O",
                "WL5e95GBd700GCLD6_O",
                "WL5e95GBd750GCLD6_O",
                "WL5e95GBd800GCLD6_O",
                "WL5e95GBd200GCLD6_E",
                "WL5e95GBd250GCLD6_E",
                "WL5e95GBd300GCLD6_E",
                "WL5e95GBd350GCLD6_E",
                "WL5e95GBd400GCLD6_E",
                "WL5e95GBd450GCLD6_E",
                "WL5e95GBd500GCLD6_E",
                "WL5e95GBd550GCLD6_E",
                "WL5e95GBd600GCLD6_E",
                "WL5e95GBd650GCLD6_E",
                "WL5e95GBd700GCLD6_E",
                "WL5e95GBd750GCLD6_E",
                "WL5e95GBd800GCLD6_E",
                "WL5e95GBd200GCLS6_O",
                "WL5e95GBd250GCLS6_O",
                "WL5e95GBd300GCLS6_O",
                "WL5e95GBd350GCLS6_O",
                "WL5e95GBd400GCLS6_O",
                "WL5e95GBd450GCLS6_O",
                "WL5e95GBd500GCLS6_O",
                "WL5e95GBd550GCLS6_O",
                "WL5e95GBd600GCLS6_O",
                "WL5e95GBd650GCLS6_O",
                "WL5e95GBd700GCLS6_O",
                "WL5e95GBd750GCLS6_O",
                "WL5e95GBd800GCLS6_O",
                "WL5e95GBd200GCLS6_E",
                "WL5e95GBd250GCLS6_E",
                "WL5e95GBd300GCLS6_E",
                "WL5e95GBd350GCLS6_E",
                "WL5e95GBd400GCLS6_E",
                "WL5e95GBd450GCLS6_E",
                "WL5e95GBd500GCLS6_E",
                "WL5e95GBd550GCLS6_E",
                "WL5e95GBd600GCLS6_E",
                "WL5e95GBd650GCLS6_E",
                "WL5e95GBd700GCLS6_E",
                "WL5e95GBd750GCLS6_E",
                "WL5e95GBd800GCLS6_E",
                "WL5e95GBd200GCNTLS6_O",
                "WL5e95GBd250GCNTLS6_O",
                "WL5e95GBd300GCNTLS6_O",
                "WL5e95GBd350GCNTLS6_O",
                "WL5e95GBd400GCNTLS6_O",
                "WL5e95GBd450GCNTLS6_O",
                "WL5e95GBd500GCNTLS6_O",
                "WL5e95GBd550GCNTLS6_O",
                "WL5e95GBd600GCNTLS6_O",
                "WL5e95GBd650GCNTLS6_O",
                "WL5e95GBd700GCNTLS6_O",
                "WL5e95GBd750GCNTLS6_O",
                "WL5e95GBd800GCNTLS6_O",
                "WL5e95GBd200GCNTLS6_E",
                "WL5e95GBd250GCNTLS6_E",
                "WL5e95GBd300GCNTLS6_E",
                "WL5e95GBd350GCNTLS6_E",
                "WL5e95GBd400GCNTLS6_E",
                "WL5e95GBd450GCNTLS6_E",
                "WL5e95GBd500GCNTLS6_E",
                "WL5e95GBd550GCNTLS6_E",
                "WL5e95GBd600GCNTLS6_E",
                "WL5e95GBd650GCNTLS6_E",
                "WL5e95GBd700GCNTLS6_E",
                "WL5e95GBd750GCNTLS6_E",
                "WL5e95GBd800GCNTLS6_E",
                "WL5e95GBd200GCS6_O",
                "WL5e95GBd250GCS6_O",
                "WL5e95GBd300GCS6_O",
                "WL5e95GBd350GCS6_O",
                "WL5e95GBd400GCS6_O",
                "WL5e95GBd450GCS6_O",
                "WL5e95GBd500GCS6_O",
                "WL5e95GBd550GCS6_O",
                "WL5e95GBd600GCS6_O",
                "WL5e95GBd650GCS6_O",
                "WL5e95GBd700GCS6_O",
                "WL5e95GBd750GCS6_O",
                "WL5e95GBd800GCS6_O",
                "WL5e95GBd200GCS6_E",
                "WL5e95GBd250GCS6_E",
                "WL5e95GBd300GCS6_E",
                "WL5e95GBd350GCS6_E",
                "WL5e95GBd400GCS6_E",
                "WL5e95GBd450GCS6_E",
                "WL5e95GBd500GCS6_E",
                "WL5e95GBd550GCS6_E",
                "WL5e95GBd600GCS6_E",
                "WL5e95GBd650GCS6_E",
                "WL5e95GBd700GCS6_E",
                "WL5e95GBd750GCS6_E",
                "WL5e95GBd800GCS6_E",
                "WL5e91P6GBd200GCLD1_O",
                "WL5e91P6GBd250GCLD1_O",
                "WL5e91P6GBd300GCLD1_O",
                "WL5e91P6GBd350GCLD1_O",
                "WL5e91P6GBd400GCLD1_O",
                "WL5e91P6GBd450GCLD1_O",
                "WL5e91P6GBd500GCLD1_O",
                "WL5e91P6GBd550GCLD1_O",
                "WL5e91P6GBd600GCLD1_O",
                "WL5e91P6GBd650GCLD1_O",
                "WL5e91P6GBd700GCLD1_O",
                "WL5e91P6GBd750GCLD1_O",
                "WL5e91P6GBd800GCLD1_O",
                "WL5e91P6GBd200GCLD1_E",
                "WL5e91P6GBd250GCLD1_E",
                "WL5e91P6GBd300GCLD1_E",
                "WL5e91P6GBd350GCLD1_E",
                "WL5e91P6GBd400GCLD1_E",
                "WL5e91P6GBd450GCLD1_E",
                "WL5e91P6GBd500GCLD1_E",
                "WL5e91P6GBd550GCLD1_E",
                "WL5e91P6GBd600GCLD1_E",
                "WL5e91P6GBd650GCLD1_E",
                "WL5e91P6GBd700GCLD1_E",
                "WL5e91P6GBd750GCLD1_E",
                "WL5e91P6GBd800GCLD1_E",
                "WL5e91P6GBd200GCLS1_O",
                "WL5e91P6GBd250GCLS1_O",
                "WL5e91P6GBd300GCLS1_O",
                "WL5e91P6GBd350GCLS1_O",
                "WL5e91P6GBd400GCLS1_O",
                "WL5e91P6GBd450GCLS1_O",
                "WL5e91P6GBd500GCLS1_O",
                "WL5e91P6GBd550GCLS1_O",
                "WL5e91P6GBd600GCLS1_O",
                "WL5e91P6GBd650GCLS1_O",
                "WL5e91P6GBd700GCLS1_O",
                "WL5e91P6GBd750GCLS1_O",
                "WL5e91P6GBd800GCLS1_O",
                "WL5e91P6GBd200GCLS1_E",
                "WL5e91P6GBd250GCLS1_E",
                "WL5e91P6GBd300GCLS1_E",
                "WL5e91P6GBd350GCLS1_E",
                "WL5e91P6GBd400GCLS1_E",
                "WL5e91P6GBd450GCLS1_E",
                "WL5e91P6GBd500GCLS1_E",
                "WL5e91P6GBd550GCLS1_E",
                "WL5e91P6GBd600GCLS1_E",
                "WL5e91P6GBd650GCLS1_E",
                "WL5e91P6GBd700GCLS1_E",
                "WL5e91P6GBd750GCLS1_E",
                "WL5e91P6GBd800GCLS1_E",
                "WL5e91P6GBd200GCNTLS1_O",
                "WL5e91P6GBd250GCNTLS1_O",
                "WL5e91P6GBd300GCNTLS1_O",
                "WL5e91P6GBd350GCNTLS1_O",
                "WL5e91P6GBd400GCNTLS1_O",
                "WL5e91P6GBd450GCNTLS1_O",
                "WL5e91P6GBd500GCNTLS1_O",
                "WL5e91P6GBd550GCNTLS1_O",
                "WL5e91P6GBd600GCNTLS1_O",
                "WL5e91P6GBd650GCNTLS1_O",
                "WL5e91P6GBd700GCNTLS1_O",
                "WL5e91P6GBd750GCNTLS1_O",
                "WL5e91P6GBd800GCNTLS1_O",
                "WL5e91P6GBd200GCNTLS1_E",
                "WL5e91P6GBd250GCNTLS1_E",
                "WL5e91P6GBd300GCNTLS1_E",
                "WL5e91P6GBd350GCNTLS1_E",
                "WL5e91P6GBd400GCNTLS1_E",
                "WL5e91P6GBd450GCNTLS1_E",
                "WL5e91P6GBd500GCNTLS1_E",
                "WL5e91P6GBd550GCNTLS1_E",
                "WL5e91P6GBd600GCNTLS1_E",
                "WL5e91P6GBd650GCNTLS1_E",
                "WL5e91P6GBd700GCNTLS1_E",
                "WL5e91P6GBd750GCNTLS1_E",
                "WL5e91P6GBd800GCNTLS1_E",
                "WL5e91P6GBd200GCS1_O",
                "WL5e91P6GBd250GCS1_O",
                "WL5e91P6GBd300GCS1_O",
                "WL5e91P6GBd350GCS1_O",
                "WL5e91P6GBd400GCS1_O",
                "WL5e91P6GBd450GCS1_O",
                "WL5e91P6GBd500GCS1_O",
                "WL5e91P6GBd550GCS1_O",
                "WL5e91P6GBd600GCS1_O",
                "WL5e91P6GBd650GCS1_O",
                "WL5e91P6GBd700GCS1_O",
                "WL5e91P6GBd750GCS1_O",
                "WL5e91P6GBd800GCS1_O",
                "WL5e91P6GBd200GCS1_E",
                "WL5e91P6GBd250GCS1_E",
                "WL5e91P6GBd300GCS1_E",
                "WL5e91P6GBd350GCS1_E",
                "WL5e91P6GBd400GCS1_E",
                "WL5e91P6GBd450GCS1_E",
                "WL5e91P6GBd500GCS1_E",
                "WL5e91P6GBd550GCS1_E",
                "WL5e91P6GBd600GCS1_E",
                "WL5e91P6GBd650GCS1_E",
                "WL5e91P6GBd700GCS1_E",
                "WL5e91P6GBd750GCS1_E",
                "WL5e91P6GBd800GCS1_E",
                "WL5e91P6GBd200GCLD2_O",
                "WL5e91P6GBd250GCLD2_O",
                "WL5e91P6GBd300GCLD2_O",
                "WL5e91P6GBd350GCLD2_O",
                "WL5e91P6GBd400GCLD2_O",
                "WL5e91P6GBd450GCLD2_O",
                "WL5e91P6GBd500GCLD2_O",
                "WL5e91P6GBd550GCLD2_O",
                "WL5e91P6GBd600GCLD2_O",
                "WL5e91P6GBd650GCLD2_O",
                "WL5e91P6GBd700GCLD2_O",
                "WL5e91P6GBd750GCLD2_O",
                "WL5e91P6GBd800GCLD2_O",
                "WL5e91P6GBd200GCLD2_E",
                "WL5e91P6GBd250GCLD2_E",
                "WL5e91P6GBd300GCLD2_E",
                "WL5e91P6GBd350GCLD2_E",
                "WL5e91P6GBd400GCLD2_E",
                "WL5e91P6GBd450GCLD2_E",
                "WL5e91P6GBd500GCLD2_E",
                "WL5e91P6GBd550GCLD2_E",
                "WL5e91P6GBd600GCLD2_E",
                "WL5e91P6GBd650GCLD2_E",
                "WL5e91P6GBd700GCLD2_E",
                "WL5e91P6GBd750GCLD2_E",
                "WL5e91P6GBd800GCLD2_E",
                "WL5e91P6GBd200GCLS2_O",
                "WL5e91P6GBd250GCLS2_O",
                "WL5e91P6GBd300GCLS2_O",
                "WL5e91P6GBd350GCLS2_O",
                "WL5e91P6GBd400GCLS2_O",
                "WL5e91P6GBd450GCLS2_O",
                "WL5e91P6GBd500GCLS2_O",
                "WL5e91P6GBd550GCLS2_O",
                "WL5e91P6GBd600GCLS2_O",
                "WL5e91P6GBd650GCLS2_O",
                "WL5e91P6GBd700GCLS2_O",
                "WL5e91P6GBd750GCLS2_O",
                "WL5e91P6GBd800GCLS2_O",
                "WL5e91P6GBd200GCLS2_E",
                "WL5e91P6GBd250GCLS2_E",
                "WL5e91P6GBd300GCLS2_E",
                "WL5e91P6GBd350GCLS2_E",
                "WL5e91P6GBd400GCLS2_E",
                "WL5e91P6GBd450GCLS2_E",
                "WL5e91P6GBd500GCLS2_E",
                "WL5e91P6GBd550GCLS2_E",
                "WL5e91P6GBd600GCLS2_E",
                "WL5e91P6GBd650GCLS2_E",
                "WL5e91P6GBd700GCLS2_E",
                "WL5e91P6GBd750GCLS2_E",
                "WL5e91P6GBd800GCLS2_E",
                "WL5e91P6GBd200GCNTLS2_O",
                "WL5e91P6GBd250GCNTLS2_O",
                "WL5e91P6GBd300GCNTLS2_O",
                "WL5e91P6GBd350GCNTLS2_O",
                "WL5e91P6GBd400GCNTLS2_O",
                "WL5e91P6GBd450GCNTLS2_O",
                "WL5e91P6GBd500GCNTLS2_O",
                "WL5e91P6GBd550GCNTLS2_O",
                "WL5e91P6GBd600GCNTLS2_O",
                "WL5e91P6GBd650GCNTLS2_O",
                "WL5e91P6GBd700GCNTLS2_O",
                "WL5e91P6GBd750GCNTLS2_O",
                "WL5e91P6GBd800GCNTLS2_O",
                "WL5e91P6GBd200GCNTLS2_E",
                "WL5e91P6GBd250GCNTLS2_E",
                "WL5e91P6GBd300GCNTLS2_E",
                "WL5e91P6GBd350GCNTLS2_E",
                "WL5e91P6GBd400GCNTLS2_E",
                "WL5e91P6GBd450GCNTLS2_E",
                "WL5e91P6GBd500GCNTLS2_E",
                "WL5e91P6GBd550GCNTLS2_E",
                "WL5e91P6GBd600GCNTLS2_E",
                "WL5e91P6GBd650GCNTLS2_E",
                "WL5e91P6GBd700GCNTLS2_E",
                "WL5e91P6GBd750GCNTLS2_E",
                "WL5e91P6GBd800GCNTLS2_E",
                "WL5e91P6GBd200GCS2_O",
                "WL5e91P6GBd250GCS2_O",
                "WL5e91P6GBd300GCS2_O",
                "WL5e91P6GBd350GCS2_O",
                "WL5e91P6GBd400GCS2_O",
                "WL5e91P6GBd450GCS2_O",
                "WL5e91P6GBd500GCS2_O",
                "WL5e91P6GBd550GCS2_O",
                "WL5e91P6GBd600GCS2_O",
                "WL5e91P6GBd650GCS2_O",
                "WL5e91P6GBd700GCS2_O",
                "WL5e91P6GBd750GCS2_O",
                "WL5e91P6GBd800GCS2_O",
                "WL5e91P6GBd200GCS2_E",
                "WL5e91P6GBd250GCS2_E",
                "WL5e91P6GBd300GCS2_E",
                "WL5e91P6GBd350GCS2_E",
                "WL5e91P6GBd400GCS2_E",
                "WL5e91P6GBd450GCS2_E",
                "WL5e91P6GBd500GCS2_E",
                "WL5e91P6GBd550GCS2_E",
                "WL5e91P6GBd600GCS2_E",
                "WL5e91P6GBd650GCS2_E",
                "WL5e91P6GBd700GCS2_E",
                "WL5e91P6GBd750GCS2_E",
                "WL5e91P6GBd800GCS2_E",
                "WL5e91P6GBd200GCLD3_O",
                "WL5e91P6GBd250GCLD3_O",
                "WL5e91P6GBd300GCLD3_O",
                "WL5e91P6GBd350GCLD3_O",
                "WL5e91P6GBd400GCLD3_O",
                "WL5e91P6GBd450GCLD3_O",
                "WL5e91P6GBd500GCLD3_O",
                "WL5e91P6GBd550GCLD3_O",
                "WL5e91P6GBd600GCLD3_O",
                "WL5e91P6GBd650GCLD3_O",
                "WL5e91P6GBd700GCLD3_O",
                "WL5e91P6GBd750GCLD3_O",
                "WL5e91P6GBd800GCLD3_O",
                "WL5e91P6GBd200GCLD3_E",
                "WL5e91P6GBd250GCLD3_E",
                "WL5e91P6GBd300GCLD3_E",
                "WL5e91P6GBd350GCLD3_E",
                "WL5e91P6GBd400GCLD3_E",
                "WL5e91P6GBd450GCLD3_E",
                "WL5e91P6GBd500GCLD3_E",
                "WL5e91P6GBd550GCLD3_E",
                "WL5e91P6GBd600GCLD3_E",
                "WL5e91P6GBd650GCLD3_E",
                "WL5e91P6GBd700GCLD3_E",
                "WL5e91P6GBd750GCLD3_E",
                "WL5e91P6GBd800GCLD3_E",
                "WL5e91P6GBd200GCLS3_O",
                "WL5e91P6GBd250GCLS3_O",
                "WL5e91P6GBd300GCLS3_O",
                "WL5e91P6GBd350GCLS3_O",
                "WL5e91P6GBd400GCLS3_O",
                "WL5e91P6GBd450GCLS3_O",
                "WL5e91P6GBd500GCLS3_O",
                "WL5e91P6GBd550GCLS3_O",
                "WL5e91P6GBd600GCLS3_O",
                "WL5e91P6GBd650GCLS3_O",
                "WL5e91P6GBd700GCLS3_O",
                "WL5e91P6GBd750GCLS3_O",
                "WL5e91P6GBd800GCLS3_O",
                "WL5e91P6GBd200GCLS3_E",
                "WL5e91P6GBd250GCLS3_E",
                "WL5e91P6GBd300GCLS3_E",
                "WL5e91P6GBd350GCLS3_E",
                "WL5e91P6GBd400GCLS3_E",
                "WL5e91P6GBd450GCLS3_E",
                "WL5e91P6GBd500GCLS3_E",
                "WL5e91P6GBd550GCLS3_E",
                "WL5e91P6GBd600GCLS3_E",
                "WL5e91P6GBd650GCLS3_E",
                "WL5e91P6GBd700GCLS3_E",
                "WL5e91P6GBd750GCLS3_E",
                "WL5e91P6GBd800GCLS3_E",
                "WL5e91P6GBd200GCNTLS3_O",
                "WL5e91P6GBd250GCNTLS3_O",
                "WL5e91P6GBd300GCNTLS3_O",
                "WL5e91P6GBd350GCNTLS3_O",
                "WL5e91P6GBd400GCNTLS3_O",
                "WL5e91P6GBd450GCNTLS3_O",
                "WL5e91P6GBd500GCNTLS3_O",
                "WL5e91P6GBd550GCNTLS3_O",
                "WL5e91P6GBd600GCNTLS3_O",
                "WL5e91P6GBd650GCNTLS3_O",
                "WL5e91P6GBd700GCNTLS3_O",
                "WL5e91P6GBd750GCNTLS3_O",
                "WL5e91P6GBd800GCNTLS3_O",
                "WL5e91P6GBd200GCNTLS3_E",
                "WL5e91P6GBd250GCNTLS3_E",
                "WL5e91P6GBd300GCNTLS3_E",
                "WL5e91P6GBd350GCNTLS3_E",
                "WL5e91P6GBd400GCNTLS3_E",
                "WL5e91P6GBd450GCNTLS3_E",
                "WL5e91P6GBd500GCNTLS3_E",
                "WL5e91P6GBd550GCNTLS3_E",
                "WL5e91P6GBd600GCNTLS3_E",
                "WL5e91P6GBd650GCNTLS3_E",
                "WL5e91P6GBd700GCNTLS3_E",
                "WL5e91P6GBd750GCNTLS3_E",
                "WL5e91P6GBd800GCNTLS3_E",
                "WL5e91P6GBd200GCS3_O",
                "WL5e91P6GBd250GCS3_O",
                "WL5e91P6GBd300GCS3_O",
                "WL5e91P6GBd350GCS3_O",
                "WL5e91P6GBd400GCS3_O",
                "WL5e91P6GBd450GCS3_O",
                "WL5e91P6GBd500GCS3_O",
                "WL5e91P6GBd550GCS3_O",
                "WL5e91P6GBd600GCS3_O",
                "WL5e91P6GBd650GCS3_O",
                "WL5e91P6GBd700GCS3_O",
                "WL5e91P6GBd750GCS3_O",
                "WL5e91P6GBd800GCS3_O",
                "WL5e91P6GBd200GCS3_E",
                "WL5e91P6GBd250GCS3_E",
                "WL5e91P6GBd300GCS3_E",
                "WL5e91P6GBd350GCS3_E",
                "WL5e91P6GBd400GCS3_E",
                "WL5e91P6GBd450GCS3_E",
                "WL5e91P6GBd500GCS3_E",
                "WL5e91P6GBd550GCS3_E",
                "WL5e91P6GBd600GCS3_E",
                "WL5e91P6GBd650GCS3_E",
                "WL5e91P6GBd700GCS3_E",
                "WL5e91P6GBd750GCS3_E",
                "WL5e91P6GBd800GCS3_E",
                "WL5e91P6GBd200GCLD4_O",
                "WL5e91P6GBd250GCLD4_O",
                "WL5e91P6GBd300GCLD4_O",
                "WL5e91P6GBd350GCLD4_O",
                "WL5e91P6GBd400GCLD4_O",
                "WL5e91P6GBd450GCLD4_O",
                "WL5e91P6GBd500GCLD4_O",
                "WL5e91P6GBd550GCLD4_O",
                "WL5e91P6GBd600GCLD4_O",
                "WL5e91P6GBd650GCLD4_O",
                "WL5e91P6GBd700GCLD4_O",
                "WL5e91P6GBd750GCLD4_O",
                "WL5e91P6GBd800GCLD4_O",
                "WL5e91P6GBd200GCLD4_E",
                "WL5e91P6GBd250GCLD4_E",
                "WL5e91P6GBd300GCLD4_E",
                "WL5e91P6GBd350GCLD4_E",
                "WL5e91P6GBd400GCLD4_E",
                "WL5e91P6GBd450GCLD4_E",
                "WL5e91P6GBd500GCLD4_E",
                "WL5e91P6GBd550GCLD4_E",
                "WL5e91P6GBd600GCLD4_E",
                "WL5e91P6GBd650GCLD4_E",
                "WL5e91P6GBd700GCLD4_E",
                "WL5e91P6GBd750GCLD4_E",
                "WL5e91P6GBd800GCLD4_E",
                "WL5e91P6GBd200GCLS4_O",
                "WL5e91P6GBd250GCLS4_O",
                "WL5e91P6GBd300GCLS4_O",
                "WL5e91P6GBd350GCLS4_O",
                "WL5e91P6GBd400GCLS4_O",
                "WL5e91P6GBd450GCLS4_O",
                "WL5e91P6GBd500GCLS4_O",
                "WL5e91P6GBd550GCLS4_O",
                "WL5e91P6GBd600GCLS4_O",
                "WL5e91P6GBd650GCLS4_O",
                "WL5e91P6GBd700GCLS4_O",
                "WL5e91P6GBd750GCLS4_O",
                "WL5e91P6GBd800GCLS4_O",
                "WL5e91P6GBd200GCLS4_E",
                "WL5e91P6GBd250GCLS4_E",
                "WL5e91P6GBd300GCLS4_E",
                "WL5e91P6GBd350GCLS4_E",
                "WL5e91P6GBd400GCLS4_E",
                "WL5e91P6GBd450GCLS4_E",
                "WL5e91P6GBd500GCLS4_E",
                "WL5e91P6GBd550GCLS4_E",
                "WL5e91P6GBd600GCLS4_E",
                "WL5e91P6GBd650GCLS4_E",
                "WL5e91P6GBd700GCLS4_E",
                "WL5e91P6GBd750GCLS4_E",
                "WL5e91P6GBd800GCLS4_E",
                "WL5e91P6GBd200GCNTLS4_O",
                "WL5e91P6GBd250GCNTLS4_O",
                "WL5e91P6GBd300GCNTLS4_O",
                "WL5e91P6GBd350GCNTLS4_O",
                "WL5e91P6GBd400GCNTLS4_O",
                "WL5e91P6GBd450GCNTLS4_O",
                "WL5e91P6GBd500GCNTLS4_O",
                "WL5e91P6GBd550GCNTLS4_O",
                "WL5e91P6GBd600GCNTLS4_O",
                "WL5e91P6GBd650GCNTLS4_O",
                "WL5e91P6GBd700GCNTLS4_O",
                "WL5e91P6GBd750GCNTLS4_O",
                "WL5e91P6GBd800GCNTLS4_O",
                "WL5e91P6GBd200GCNTLS4_E",
                "WL5e91P6GBd250GCNTLS4_E",
                "WL5e91P6GBd300GCNTLS4_E",
                "WL5e91P6GBd350GCNTLS4_E",
                "WL5e91P6GBd400GCNTLS4_E",
                "WL5e91P6GBd450GCNTLS4_E",
                "WL5e91P6GBd500GCNTLS4_E",
                "WL5e91P6GBd550GCNTLS4_E",
                "WL5e91P6GBd600GCNTLS4_E",
                "WL5e91P6GBd650GCNTLS4_E",
                "WL5e91P6GBd700GCNTLS4_E",
                "WL5e91P6GBd750GCNTLS4_E",
                "WL5e91P6GBd800GCNTLS4_E",
                "WL5e91P6GBd200GCS4_O",
                "WL5e91P6GBd250GCS4_O",
                "WL5e91P6GBd300GCS4_O",
                "WL5e91P6GBd350GCS4_O",
                "WL5e91P6GBd400GCS4_O",
                "WL5e91P6GBd450GCS4_O",
                "WL5e91P6GBd500GCS4_O",
                "WL5e91P6GBd550GCS4_O",
                "WL5e91P6GBd600GCS4_O",
                "WL5e91P6GBd650GCS4_O",
                "WL5e91P6GBd700GCS4_O",
                "WL5e91P6GBd750GCS4_O",
                "WL5e91P6GBd800GCS4_O",
                "WL5e91P6GBd200GCS4_E",
                "WL5e91P6GBd250GCS4_E",
                "WL5e91P6GBd300GCS4_E",
                "WL5e91P6GBd350GCS4_E",
                "WL5e91P6GBd400GCS4_E",
                "WL5e91P6GBd450GCS4_E",
                "WL5e91P6GBd500GCS4_E",
                "WL5e91P6GBd550GCS4_E",
                "WL5e91P6GBd600GCS4_E",
                "WL5e91P6GBd650GCS4_E",
                "WL5e91P6GBd700GCS4_E",
                "WL5e91P6GBd750GCS4_E",
                "WL5e91P6GBd800GCS4_E",
                "WL5e91P6GBd200GCLD5_O",
                "WL5e91P6GBd250GCLD5_O",
                "WL5e91P6GBd300GCLD5_O",
                "WL5e91P6GBd350GCLD5_O",
                "WL5e91P6GBd400GCLD5_O",
                "WL5e91P6GBd450GCLD5_O",
                "WL5e91P6GBd500GCLD5_O",
                "WL5e91P6GBd550GCLD5_O",
                "WL5e91P6GBd600GCLD5_O",
                "WL5e91P6GBd650GCLD5_O",
                "WL5e91P6GBd700GCLD5_O",
                "WL5e91P6GBd750GCLD5_O",
                "WL5e91P6GBd800GCLD5_O",
                "WL5e91P6GBd200GCLD5_E",
                "WL5e91P6GBd250GCLD5_E",
                "WL5e91P6GBd300GCLD5_E",
                "WL5e91P6GBd350GCLD5_E",
                "WL5e91P6GBd400GCLD5_E",
                "WL5e91P6GBd450GCLD5_E",
                "WL5e91P6GBd500GCLD5_E",
                "WL5e91P6GBd550GCLD5_E",
                "WL5e91P6GBd600GCLD5_E",
                "WL5e91P6GBd650GCLD5_E",
                "WL5e91P6GBd700GCLD5_E",
                "WL5e91P6GBd750GCLD5_E",
                "WL5e91P6GBd800GCLD5_E",
                "WL5e91P6GBd200GCLS5_O",
                "WL5e91P6GBd250GCLS5_O",
                "WL5e91P6GBd300GCLS5_O",
                "WL5e91P6GBd350GCLS5_O",
                "WL5e91P6GBd400GCLS5_O",
                "WL5e91P6GBd450GCLS5_O",
                "WL5e91P6GBd500GCLS5_O",
                "WL5e91P6GBd550GCLS5_O",
                "WL5e91P6GBd600GCLS5_O",
                "WL5e91P6GBd650GCLS5_O",
                "WL5e91P6GBd700GCLS5_O",
                "WL5e91P6GBd750GCLS5_O",
                "WL5e91P6GBd800GCLS5_O",
                "WL5e91P6GBd200GCLS5_E",
                "WL5e91P6GBd250GCLS5_E",
                "WL5e91P6GBd300GCLS5_E",
                "WL5e91P6GBd350GCLS5_E",
                "WL5e91P6GBd400GCLS5_E",
                "WL5e91P6GBd450GCLS5_E",
                "WL5e91P6GBd500GCLS5_E",
                "WL5e91P6GBd550GCLS5_E",
                "WL5e91P6GBd600GCLS5_E",
                "WL5e91P6GBd650GCLS5_E",
                "WL5e91P6GBd700GCLS5_E",
                "WL5e91P6GBd750GCLS5_E",
                "WL5e91P6GBd800GCLS5_E",
                "WL5e91P6GBd200GCNTLS5_O",
                "WL5e91P6GBd250GCNTLS5_O",
                "WL5e91P6GBd300GCNTLS5_O",
                "WL5e91P6GBd350GCNTLS5_O",
                "WL5e91P6GBd400GCNTLS5_O",
                "WL5e91P6GBd450GCNTLS5_O",
                "WL5e91P6GBd500GCNTLS5_O",
                "WL5e91P6GBd550GCNTLS5_O",
                "WL5e91P6GBd600GCNTLS5_O",
                "WL5e91P6GBd650GCNTLS5_O",
                "WL5e91P6GBd700GCNTLS5_O",
                "WL5e91P6GBd750GCNTLS5_O",
                "WL5e91P6GBd800GCNTLS5_O",
                "WL5e91P6GBd200GCNTLS5_E",
                "WL5e91P6GBd250GCNTLS5_E",
                "WL5e91P6GBd300GCNTLS5_E",
                "WL5e91P6GBd350GCNTLS5_E",
                "WL5e91P6GBd400GCNTLS5_E",
                "WL5e91P6GBd450GCNTLS5_E",
                "WL5e91P6GBd500GCNTLS5_E",
                "WL5e91P6GBd550GCNTLS5_E",
                "WL5e91P6GBd600GCNTLS5_E",
                "WL5e91P6GBd650GCNTLS5_E",
                "WL5e91P6GBd700GCNTLS5_E",
                "WL5e91P6GBd750GCNTLS5_E",
                "WL5e91P6GBd800GCNTLS5_E",
                "WL5e91P6GBd200GCS5_O",
                "WL5e91P6GBd250GCS5_O",
                "WL5e91P6GBd300GCS5_O",
                "WL5e91P6GBd350GCS5_O",
                "WL5e91P6GBd400GCS5_O",
                "WL5e91P6GBd450GCS5_O",
                "WL5e91P6GBd500GCS5_O",
                "WL5e91P6GBd550GCS5_O",
                "WL5e91P6GBd600GCS5_O",
                "WL5e91P6GBd650GCS5_O",
                "WL5e91P6GBd700GCS5_O",
                "WL5e91P6GBd750GCS5_O",
                "WL5e91P6GBd800GCS5_O",
                "WL5e91P6GBd200GCS5_E",
                "WL5e91P6GBd250GCS5_E",
                "WL5e91P6GBd300GCS5_E",
                "WL5e91P6GBd350GCS5_E",
                "WL5e91P6GBd400GCS5_E",
                "WL5e91P6GBd450GCS5_E",
                "WL5e91P6GBd500GCS5_E",
                "WL5e91P6GBd550GCS5_E",
                "WL5e91P6GBd600GCS5_E",
                "WL5e91P6GBd650GCS5_E",
                "WL5e91P6GBd700GCS5_E",
                "WL5e91P6GBd750GCS5_E",
                "WL5e91P6GBd800GCS5_E",
                "WL5e91P6GBd200GCLD6_O",
                "WL5e91P6GBd250GCLD6_O",
                "WL5e91P6GBd300GCLD6_O",
                "WL5e91P6GBd350GCLD6_O",
                "WL5e91P6GBd400GCLD6_O",
                "WL5e91P6GBd450GCLD6_O",
                "WL5e91P6GBd500GCLD6_O",
                "WL5e91P6GBd550GCLD6_O",
                "WL5e91P6GBd600GCLD6_O",
                "WL5e91P6GBd650GCLD6_O",
                "WL5e91P6GBd700GCLD6_O",
                "WL5e91P6GBd750GCLD6_O",
                "WL5e91P6GBd800GCLD6_O",
                "WL5e91P6GBd200GCLD6_E",
                "WL5e91P6GBd250GCLD6_E",
                "WL5e91P6GBd300GCLD6_E",
                "WL5e91P6GBd350GCLD6_E",
                "WL5e91P6GBd400GCLD6_E",
                "WL5e91P6GBd450GCLD6_E",
                "WL5e91P6GBd500GCLD6_E",
                "WL5e91P6GBd550GCLD6_E",
                "WL5e91P6GBd600GCLD6_E",
                "WL5e91P6GBd650GCLD6_E",
                "WL5e91P6GBd700GCLD6_E",
                "WL5e91P6GBd750GCLD6_E",
                "WL5e91P6GBd800GCLD6_E",
                "WL5e91P6GBd200GCLS6_O",
                "WL5e91P6GBd250GCLS6_O",
                "WL5e91P6GBd300GCLS6_O",
                "WL5e91P6GBd350GCLS6_O",
                "WL5e91P6GBd400GCLS6_O",
                "WL5e91P6GBd450GCLS6_O",
                "WL5e91P6GBd500GCLS6_O",
                "WL5e91P6GBd550GCLS6_O",
                "WL5e91P6GBd600GCLS6_O",
                "WL5e91P6GBd650GCLS6_O",
                "WL5e91P6GBd700GCLS6_O",
                "WL5e91P6GBd750GCLS6_O",
                "WL5e91P6GBd800GCLS6_O",
                "WL5e91P6GBd200GCLS6_E",
                "WL5e91P6GBd250GCLS6_E",
                "WL5e91P6GBd300GCLS6_E",
                "WL5e91P6GBd350GCLS6_E",
                "WL5e91P6GBd400GCLS6_E",
                "WL5e91P6GBd450GCLS6_E",
                "WL5e91P6GBd500GCLS6_E",
                "WL5e91P6GBd550GCLS6_E",
                "WL5e91P6GBd600GCLS6_E",
                "WL5e91P6GBd650GCLS6_E",
                "WL5e91P6GBd700GCLS6_E",
                "WL5e91P6GBd750GCLS6_E",
                "WL5e91P6GBd800GCLS6_E",
                "WL5e91P6GBd200GCNTLS6_O",
                "WL5e91P6GBd250GCNTLS6_O",
                "WL5e91P6GBd300GCNTLS6_O",
                "WL5e91P6GBd350GCNTLS6_O",
                "WL5e91P6GBd400GCNTLS6_O",
                "WL5e91P6GBd450GCNTLS6_O",
                "WL5e91P6GBd500GCNTLS6_O",
                "WL5e91P6GBd550GCNTLS6_O",
                "WL5e91P6GBd600GCNTLS6_O",
                "WL5e91P6GBd650GCNTLS6_O",
                "WL5e91P6GBd700GCNTLS6_O",
                "WL5e91P6GBd750GCNTLS6_O",
                "WL5e91P6GBd800GCNTLS6_O",
                "WL5e91P6GBd200GCNTLS6_E",
                "WL5e91P6GBd250GCNTLS6_E",
                "WL5e91P6GBd300GCNTLS6_E",
                "WL5e91P6GBd350GCNTLS6_E",
                "WL5e91P6GBd400GCNTLS6_E",
                "WL5e91P6GBd450GCNTLS6_E",
                "WL5e91P6GBd500GCNTLS6_E",
                "WL5e91P6GBd550GCNTLS6_E",
                "WL5e91P6GBd600GCNTLS6_E",
                "WL5e91P6GBd650GCNTLS6_E",
                "WL5e91P6GBd700GCNTLS6_E",
                "WL5e91P6GBd750GCNTLS6_E",
                "WL5e91P6GBd800GCNTLS6_E",
                "WL5e91P6GBd200GCS6_O",
                "WL5e91P6GBd250GCS6_O",
                "WL5e91P6GBd300GCS6_O",
                "WL5e91P6GBd350GCS6_O",
                "WL5e91P6GBd400GCS6_O",
                "WL5e91P6GBd450GCS6_O",
                "WL5e91P6GBd500GCS6_O",
                "WL5e91P6GBd550GCS6_O",
                "WL5e91P6GBd600GCS6_O",
                "WL5e91P6GBd650GCS6_O",
                "WL5e91P6GBd700GCS6_O",
                "WL5e91P6GBd750GCS6_O",
                "WL5e91P6GBd800GCS6_O",
                "WL5e91P6GBd200GCS6_E",
                "WL5e91P6GBd250GCS6_E",
                "WL5e91P6GBd300GCS6_E",
                "WL5e91P6GBd350GCS6_E",
                "WL5e91P6GBd400GCS6_E",
                "WL5e91P6GBd450GCS6_E",
                "WL5e91P6GBd500GCS6_E",
                "WL5e91P6GBd550GCS6_E",
                "WL5e91P6GBd600GCS6_E",
                "WL5e91P6GBd650GCS6_E",
                "WL5e91P6GBd700GCS6_E",
                "WL5e91P6GBd750GCS6_E",
                "WL5e91P6GBd800GCS6_E",
                "WLAI35GBd100GCLD_V2_1_186_1608_900",
                "WLAI56GBd400GCLD_V2_1_186_1608_900",
                "WLAI56GBd300GCLD_V2_1_186_1608_900",
                "WLAI56GBd200GCLD_V2_1_186_1608_900",
                "WLAI56GBd100GCLD_V2_1_186_1608_900",
                "WLAI35GBd200GCLD_V2_1_186_1608_900",
                "WLAI56GBd200GCLD_V2_2_186_1608_900",
                "WLAI56GBd100GCLD_V2_2_186_1608_900",
                "WLAI35GBd100GCLD_V2_2_186_1608_900",
                "WL5e95GBd200GCLD1_O_NL",
                "WL5e95GBd200GCLS1_O_NL",
                "WL5e95GBd200GCNTLS1_O_NL",
                "WL5e95GBd200GCS1_O_NL",
                "WL5e95GBd200GCLD2_O_NL",
                "WL5e95GBd200GCLS2_O_NL",
                "WL5e95GBd200GCNTLS2_O_NL",
                "WL5e95GBd200GCS2_O_NL",
                "WL5e95GBd200GCLD3_O_NL",
                "WL5e95GBd200GCLS3_O_NL",
                "WL5e95GBd200GCNTLS3_O_NL",
                "WL5e95GBd200GCS3_O_NL",
                "WL5e95GBd200GCLD4_O_NL",
                "WL5e95GBd200GCLS4_O_NL",
                "WL5e95GBd200GCNTLS4_O_NL",
                "WL5e95GBd200GCS4_O_NL",
                "WL5e95GBd200GCLD_SNR_5_O",
                "WL5e95GBd250GCLD_SNR_5_O",
                "WL5e95GBd300GCLD_SNR_5_O",
                "WL5e95GBd350GCLD_SNR_5_O",
                "WL5e95GBd400GCLD_SNR_5_O",
                "WL5e95GBd450GCLD_SNR_5_O",
                "WL5e95GBd500GCLD_SNR_5_O",
                "WL5e95GBd550GCLD_SNR_5_O",
                "WL5e95GBd600GCLD_SNR_5_O",
                "WL5e95GBd650GCLD_SNR_5_O",
                "WL5e95GBd700GCLD_SNR_5_O",
                "WL5e95GBd750GCLD_SNR_5_O",
                "WL5e95GBd800GCLD_SNR_5_O",
                "WL5e95GBd200GCLD_SNR_5_E",
                "WL5e95GBd250GCLD_SNR_5_E",
                "WL5e95GBd300GCLD_SNR_5_E",
                "WL5e95GBd350GCLD_SNR_5_E",
                "WL5e95GBd400GCLD_SNR_5_E",
                "WL5e95GBd450GCLD_SNR_5_E",
                "WL5e95GBd500GCLD_SNR_5_E",
                "WL5e95GBd550GCLD_SNR_5_E",
                "WL5e95GBd600GCLD_SNR_5_E",
                "WL5e95GBd650GCLD_SNR_5_E",
                "WL5e95GBd700GCLD_SNR_5_E",
                "WL5e95GBd750GCLD_SNR_5_E",
                "WL5e95GBd800GCLD_SNR_5_E",
                "WL5e95GBd200GCLS_SNR_5_O",
                "WL5e95GBd250GCLS_SNR_5_O",
                "WL5e95GBd300GCLS_SNR_5_O",
                "WL5e95GBd350GCLS_SNR_5_O",
                "WL5e95GBd400GCLS_SNR_5_O",
                "WL5e95GBd450GCLS_SNR_5_O",
                "WL5e95GBd500GCLS_SNR_5_O",
                "WL5e95GBd550GCLS_SNR_5_O",
                "WL5e95GBd600GCLS_SNR_5_O",
                "WL5e95GBd650GCLS_SNR_5_O",
                "WL5e95GBd700GCLS_SNR_5_O",
                "WL5e95GBd750GCLS_SNR_5_O",
                "WL5e95GBd800GCLS_SNR_5_O",
                "WL5e95GBd200GCLS_SNR_5_E",
                "WL5e95GBd250GCLS_SNR_5_E",
                "WL5e95GBd300GCLS_SNR_5_E",
                "WL5e95GBd350GCLS_SNR_5_E",
                "WL5e95GBd400GCLS_SNR_5_E",
                "WL5e95GBd450GCLS_SNR_5_E",
                "WL5e95GBd500GCLS_SNR_5_E",
                "WL5e95GBd550GCLS_SNR_5_E",
                "WL5e95GBd600GCLS_SNR_5_E",
                "WL5e95GBd650GCLS_SNR_5_E",
                "WL5e95GBd700GCLS_SNR_5_E",
                "WL5e95GBd750GCLS_SNR_5_E",
                "WL5e95GBd800GCLS_SNR_5_E",
                "WL5e95GBd200GCNTLS_SNR_5_O",
                "WL5e95GBd250GCNTLS_SNR_5_O",
                "WL5e95GBd300GCNTLS_SNR_5_O",
                "WL5e95GBd350GCNTLS_SNR_5_O",
                "WL5e95GBd400GCNTLS_SNR_5_O",
                "WL5e95GBd450GCNTLS_SNR_5_O",
                "WL5e95GBd500GCNTLS_SNR_5_O",
                "WL5e95GBd550GCNTLS_SNR_5_O",
                "WL5e95GBd600GCNTLS_SNR_5_O",
                "WL5e95GBd650GCNTLS_SNR_5_O",
                "WL5e95GBd700GCNTLS_SNR_5_O",
                "WL5e95GBd750GCNTLS_SNR_5_O",
                "WL5e95GBd800GCNTLS_SNR_5_O",
                "WL5e95GBd200GCNTLS_SNR_5_E",
                "WL5e95GBd250GCNTLS_SNR_5_E",
                "WL5e95GBd300GCNTLS_SNR_5_E",
                "WL5e95GBd350GCNTLS_SNR_5_E",
                "WL5e95GBd400GCNTLS_SNR_5_E",
                "WL5e95GBd450GCNTLS_SNR_5_E",
                "WL5e95GBd500GCNTLS_SNR_5_E",
                "WL5e95GBd550GCNTLS_SNR_5_E",
                "WL5e95GBd600GCNTLS_SNR_5_E",
                "WL5e95GBd650GCNTLS_SNR_5_E",
                "WL5e95GBd700GCNTLS_SNR_5_E",
                "WL5e95GBd750GCNTLS_SNR_5_E",
                "WL5e95GBd800GCNTLS_SNR_5_E",
                "WL5e95GBd200GCS_SNR_5_O",
                "WL5e95GBd250GCS_SNR_5_O",
                "WL5e95GBd300GCS_SNR_5_O",
                "WL5e95GBd350GCS_SNR_5_O",
                "WL5e95GBd400GCS_SNR_5_O",
                "WL5e95GBd450GCS_SNR_5_O",
                "WL5e95GBd500GCS_SNR_5_O",
                "WL5e95GBd550GCS_SNR_5_O",
                "WL5e95GBd600GCS_SNR_5_O",
                "WL5e95GBd650GCS_SNR_5_O",
                "WL5e95GBd700GCS_SNR_5_O",
                "WL5e95GBd750GCS_SNR_5_O",
                "WL5e95GBd800GCS_SNR_5_O",
                "WL5e95GBd200GCS_SNR_5_E",
                "WL5e95GBd250GCS_SNR_5_E",
                "WL5e95GBd300GCS_SNR_5_E",
                "WL5e95GBd350GCS_SNR_5_E",
                "WL5e95GBd400GCS_SNR_5_E",
                "WL5e95GBd450GCS_SNR_5_E",
                "WL5e95GBd500GCS_SNR_5_E",
                "WL5e95GBd550GCS_SNR_5_E",
                "WL5e95GBd600GCS_SNR_5_E",
                "WL5e95GBd650GCS_SNR_5_E",
                "WL5e95GBd700GCS_SNR_5_E",
                "WL5e95GBd750GCS_SNR_5_E",
                "WL5e95GBd800GCS_SNR_5_E",
                "WL5e95GBd200GCLD_SNR_6_O",
                "WL5e95GBd250GCLD_SNR_6_O",
                "WL5e95GBd300GCLD_SNR_6_O",
                "WL5e95GBd350GCLD_SNR_6_O",
                "WL5e95GBd400GCLD_SNR_6_O",
                "WL5e95GBd450GCLD_SNR_6_O",
                "WL5e95GBd500GCLD_SNR_6_O",
                "WL5e95GBd550GCLD_SNR_6_O",
                "WL5e95GBd600GCLD_SNR_6_O",
                "WL5e95GBd650GCLD_SNR_6_O",
                "WL5e95GBd700GCLD_SNR_6_O",
                "WL5e95GBd750GCLD_SNR_6_O",
                "WL5e95GBd800GCLD_SNR_6_O",
                "WL5e95GBd200GCLD_SNR_6_E",
                "WL5e95GBd250GCLD_SNR_6_E",
                "WL5e95GBd300GCLD_SNR_6_E",
                "WL5e95GBd350GCLD_SNR_6_E",
                "WL5e95GBd400GCLD_SNR_6_E",
                "WL5e95GBd450GCLD_SNR_6_E",
                "WL5e95GBd500GCLD_SNR_6_E",
                "WL5e95GBd550GCLD_SNR_6_E",
                "WL5e95GBd600GCLD_SNR_6_E",
                "WL5e95GBd650GCLD_SNR_6_E",
                "WL5e95GBd700GCLD_SNR_6_E",
                "WL5e95GBd750GCLD_SNR_6_E",
                "WL5e95GBd800GCLD_SNR_6_E",
                "WL5e95GBd200GCLS_SNR_6_O",
                "WL5e95GBd250GCLS_SNR_6_O",
                "WL5e95GBd300GCLS_SNR_6_O",
                "WL5e95GBd350GCLS_SNR_6_O",
                "WL5e95GBd400GCLS_SNR_6_O",
                "WL5e95GBd450GCLS_SNR_6_O",
                "WL5e95GBd500GCLS_SNR_6_O",
                "WL5e95GBd550GCLS_SNR_6_O",
                "WL5e95GBd600GCLS_SNR_6_O",
                "WL5e95GBd650GCLS_SNR_6_O",
                "WL5e95GBd700GCLS_SNR_6_O",
                "WL5e95GBd750GCLS_SNR_6_O",
                "WL5e95GBd800GCLS_SNR_6_O",
                "WL5e95GBd200GCLS_SNR_6_E",
                "WL5e95GBd250GCLS_SNR_6_E",
                "WL5e95GBd300GCLS_SNR_6_E",
                "WL5e95GBd350GCLS_SNR_6_E",
                "WL5e95GBd400GCLS_SNR_6_E",
                "WL5e95GBd450GCLS_SNR_6_E",
                "WL5e95GBd500GCLS_SNR_6_E",
                "WL5e95GBd550GCLS_SNR_6_E",
                "WL5e95GBd600GCLS_SNR_6_E",
                "WL5e95GBd650GCLS_SNR_6_E",
                "WL5e95GBd700GCLS_SNR_6_E",
                "WL5e95GBd750GCLS_SNR_6_E",
                "WL5e95GBd800GCLS_SNR_6_E",
                "WL5e95GBd200GCNTLS_SNR_6_O",
                "WL5e95GBd250GCNTLS_SNR_6_O",
                "WL5e95GBd300GCNTLS_SNR_6_O",
                "WL5e95GBd350GCNTLS_SNR_6_O",
                "WL5e95GBd400GCNTLS_SNR_6_O",
                "WL5e95GBd450GCNTLS_SNR_6_O",
                "WL5e95GBd500GCNTLS_SNR_6_O",
                "WL5e95GBd550GCNTLS_SNR_6_O",
                "WL5e95GBd600GCNTLS_SNR_6_O",
                "WL5e95GBd650GCNTLS_SNR_6_O",
                "WL5e95GBd700GCNTLS_SNR_6_O",
                "WL5e95GBd750GCNTLS_SNR_6_O",
                "WL5e95GBd800GCNTLS_SNR_6_O",
                "WL5e95GBd200GCNTLS_SNR_6_E",
                "WL5e95GBd250GCNTLS_SNR_6_E",
                "WL5e95GBd300GCNTLS_SNR_6_E",
                "WL5e95GBd350GCNTLS_SNR_6_E",
                "WL5e95GBd400GCNTLS_SNR_6_E",
                "WL5e95GBd450GCNTLS_SNR_6_E",
                "WL5e95GBd500GCNTLS_SNR_6_E",
                "WL5e95GBd550GCNTLS_SNR_6_E",
                "WL5e95GBd600GCNTLS_SNR_6_E",
                "WL5e95GBd650GCNTLS_SNR_6_E",
                "WL5e95GBd700GCNTLS_SNR_6_E",
                "WL5e95GBd750GCNTLS_SNR_6_E",
                "WL5e95GBd800GCNTLS_SNR_6_E",
                "WL5e95GBd200GCS_SNR_6_O",
                "WL5e95GBd250GCS_SNR_6_O",
                "WL5e95GBd300GCS_SNR_6_O",
                "WL5e95GBd350GCS_SNR_6_O",
                "WL5e95GBd400GCS_SNR_6_O",
                "WL5e95GBd450GCS_SNR_6_O",
                "WL5e95GBd500GCS_SNR_6_O",
                "WL5e95GBd550GCS_SNR_6_O",
                "WL5e95GBd600GCS_SNR_6_O",
                "WL5e95GBd650GCS_SNR_6_O",
                "WL5e95GBd700GCS_SNR_6_O",
                "WL5e95GBd750GCS_SNR_6_O",
                "WL5e95GBd800GCS_SNR_6_O",
                "WL5e95GBd200GCS_SNR_6_E",
                "WL5e95GBd250GCS_SNR_6_E",
                "WL5e95GBd300GCS_SNR_6_E",
                "WL5e95GBd350GCS_SNR_6_E",
                "WL5e95GBd400GCS_SNR_6_E",
                "WL5e95GBd450GCS_SNR_6_E",
                "WL5e95GBd500GCS_SNR_6_E",
                "WL5e95GBd550GCS_SNR_6_E",
                "WL5e95GBd600GCS_SNR_6_E",
                "WL5e95GBd650GCS_SNR_6_E",
                "WL5e95GBd700GCS_SNR_6_E",
                "WL5e95GBd750GCS_SNR_6_E",
                "WL5e95GBd800GCS_SNR_6_E",
                "WL5e95GBd800GCLS_V2_SNR_1_E",
                "WL5e95GBd800GCLS_V2_SNR_2_E",
                "FOREIGN_DWDM_START",
                "FOREIGN_DWDM_1",
                "FOREIGN_DWDM_2",
                "FOREIGN_DWDM_3",
                "FOREIGN_DWDM_4",
                "FOREIGN_DWDM_5",
                "FOREIGN_DWDM_6",
                "FOREIGN_DWDM_7",
                "FOREIGN_DWDM_8",
                "FOREIGN_DWDM_9",
                "FOREIGN_DWDM_10",
                "FOREIGN_DWDM_11",
                "FOREIGN_DWDM_12",
                "FOREIGN_DWDM_13",
                "FOREIGN_DWDM_14",
                "FOREIGN_DWDM_15",
                "FOREIGN_DWDM_16",
                "FOREIGN_DWDM_17",
                "FOREIGN_DWDM_18",
                "FOREIGN_DWDM_19",
                "FOREIGN_DWDM_20",
                "FOREIGN_DWDM_TEMPLATE_END",
                "FOREIGN_DWDM_1_CLS",
                "FOREIGN_DWDM_1_CNTLS",
                "FOREIGN_DWDM_1_CS",
                "FOREIGN_DWDM_2_CLS",
                "FOREIGN_DWDM_2_CNTLS",
                "FOREIGN_DWDM_2_CS",
                "FOREIGN_DWDM_3_CLS",
                "FOREIGN_DWDM_3_CNTLS",
                "FOREIGN_DWDM_3_CS",
                "FOREIGN_DWDM_4_CLS",
                "FOREIGN_DWDM_4_CNTLS",
                "FOREIGN_DWDM_4_CS",
                "FOREIGN_DWDM_5_CLS",
                "FOREIGN_DWDM_5_CNTLS",
                "FOREIGN_DWDM_5_CS",
                "FOREIGN_DWDM_6_CLS",
                "FOREIGN_DWDM_6_CNTLS",
                "FOREIGN_DWDM_6_CS",
                "FOREIGN_DWDM_7_CLS",
                "FOREIGN_DWDM_7_CNTLS",
                "FOREIGN_DWDM_7_CS",
                "FOREIGN_DWDM_8_CLS",
                "FOREIGN_DWDM_8_CNTLS",
                "FOREIGN_DWDM_8_CS",
                "FOREIGN_DWDM_9_CLS",
                "FOREIGN_DWDM_9_CNTLS",
                "FOREIGN_DWDM_9_CS",
                "FOREIGN_DWDM_10_CLS",
                "FOREIGN_DWDM_10_CNTLS",
                "FOREIGN_DWDM_10_CS",
                "FOREIGN_DWDM_11_CLS",
                "FOREIGN_DWDM_11_CNTLS",
                "FOREIGN_DWDM_11_CS",
                "FOREIGN_DWDM_12_CLS",
                "FOREIGN_DWDM_12_CNTLS",
                "FOREIGN_DWDM_12_CS",
                "FOREIGN_DWDM_13_CLS",
                "FOREIGN_DWDM_13_CNTLS",
                "FOREIGN_DWDM_13_CS",
                "FOREIGN_DWDM_14_CLS",
                "FOREIGN_DWDM_14_CNTLS",
                "FOREIGN_DWDM_14_CS",
                "FOREIGN_DWDM_15_CLS",
                "FOREIGN_DWDM_15_CNTLS",
                "FOREIGN_DWDM_15_CS",
                "FOREIGN_DWDM_16_CLS",
                "FOREIGN_DWDM_16_CNTLS",
                "FOREIGN_DWDM_16_CS",
                "FOREIGN_DWDM_17_CLS",
                "FOREIGN_DWDM_17_CNTLS",
                "FOREIGN_DWDM_17_CS",
                "FOREIGN_DWDM_18_CLS",
                "FOREIGN_DWDM_18_CNTLS",
                "FOREIGN_DWDM_18_CS",
                "FOREIGN_DWDM_19_CLS",
                "FOREIGN_DWDM_19_CNTLS",
                "FOREIGN_DWDM_19_CS",
                "FOREIGN_DWDM_20_CLS",
                "FOREIGN_DWDM_20_CNTLS",
                "FOREIGN_DWDM_20_CS",
                "FOREIGN_DWDM_END_ALL",
                "UNMODELED_EDC40G",
                "UNMODELED_16QAM200G",
                "UNMODELED_8QAM150G",
                "UNMODELED_4ASK100G",
                "UNMODELED_QPSK100G"
            ],
            "type": "string"
        },
        "PlannedData.OmsValidationFrequencyData": {
            "type": "object",
            "properties": {
                "frequency_GHz": {
                    "format": "double",
                    "type": "number"
                },
                "inputPower_mW": {
                    "format": "double",
                    "type": "number"
                },
                "inputLinearNoise_mW": {
                    "format": "double",
                    "type": "number"
                },
                "outputPower_mW": {
                    "format": "double",
                    "type": "number"
                },
                "outputLinearNoise_mW": {
                    "format": "double",
                    "type": "number"
                },
                "incrementalLinearNoise_mW": {
                    "format": "double",
                    "type": "number"
                },
                "incrementalNonlinearNoise_mW": {
                    "format": "double",
                    "type": "number"
                },
                "incrementalSnrExt": {
                    "format": "double",
                    "type": "number"
                }
            }
        },
        "PlannedData.OmsValidationResults": {
            "type": "object",
            "properties": {
                "dwdmEquipType": {
                    "$ref": "#/definitions/Common.TerminationEquipmentType"
                },
                "bias_dB": {
                    "format": "double",
                    "type": "number"
                },
                "bwEff_GHz": {
                    "format": "double",
                    "type": "number"
                },
                "omsValidationFrequencyData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedData.OmsValidationFrequencyData"
                    }
                }
            }
        },
        "PlannedData.OmsAttributes": {
            "type": "object",
            "properties": {
                "omsValidationResults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedData.OmsValidationResults"
                    }
                }
            }
        },
        "PlannedData.OmsData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/PlannedData.OmsAttributes"
                }
            }
        },
        "PlannedData.OmsList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedData.OmsData"
                    }
                }
            }
        },
        "Common.Rate": {
            "enum": [
                "DSR_10GE",
                "DSR_100GE",
                "DSR_400GE",
                "OTM2",
                "OTM4",
                "OC192",
                "STM64"
            ],
            "type": "string"
        },
        "ServiceProvisioningPolicy.PluggableRecord": {
            "required": [
                "pec",
                "rate"
            ],
            "type": "object",
            "properties": {
                "rate": {
                    "$ref": "#/definitions/Common.Rate"
                },
                "pec": {
                    "type": "string"
                }
            }
        },
        "ServiceProvisioningPolicy.CardPolicy": {
            "required": [
                "cardPec",
                "certifiedClientPluggables",
                "certifiedMatePecs"
            ],
            "type": "object",
            "properties": {
                "cardPec": {
                    "type": "string"
                },
                "certifiedMatePecs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "certifiedClientPluggables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceProvisioningPolicy.PluggableRecord"
                    }
                },
                "certifiedTPTs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ServiceProvisioningPolicy.ServiceProvisioningPolicy": {
            "required": [
                "cardPolicies"
            ],
            "type": "object",
            "properties": {
                "cardPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceProvisioningPolicy.CardPolicy"
                    }
                }
            }
        },
        "HeatDissipationThresholdPolicy.SiteHeatDissipationPolicy": {
            "required": [
                "clli",
                "heatDissipationThreshold"
            ],
            "type": "object",
            "properties": {
                "clli": {
                    "type": "string"
                },
                "heatDissipationThreshold": {
                    "$ref": "#/definitions/HeatDissipationThresholdPolicy.HeatDissipationThreshold"
                }
            }
        },
        "HeatDissipationThresholdPolicy.BayHeatDissipationPolicy": {
            "required": [
                "bay",
                "heatDissipationThreshold"
            ],
            "type": "object",
            "properties": {
                "bay": {
                    "$ref": "#/definitions/Common.EndpointLocation"
                },
                "heatDissipationThreshold": {
                    "$ref": "#/definitions/HeatDissipationThresholdPolicy.HeatDissipationThreshold"
                }
            }
        },
        "HeatDissipationThresholdPolicy.HeatDissipationThresholdPolicy": {
            "type": "object",
            "properties": {
                "globalHeatDissipationPolicy": {
                    "$ref": "#/definitions/HeatDissipationThresholdPolicy.HeatDissipationThreshold"
                },
                "siteHeatDissipationPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationThresholdPolicy.SiteHeatDissipationPolicy"
                    }
                },
                "bayHeatDissipationPolicies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeatDissipationThresholdPolicy.BayHeatDissipationPolicy"
                    }
                }
            }
        },
        "PlanningPolicy.UserActivityInfo": {
            "type": "object",
            "properties": {
                "createdByUserName": {
                    "type": "string"
                },
                "creationTime": {
                    "format": "date-time",
                    "type": "string"
                },
                "lastModifiedByUserName": {
                    "type": "string"
                },
                "lastModifiedTime": {
                    "format": "date-time",
                    "type": "string"
                }
            }
        },
        "PlanningPolicy.PlanningPolicy": {
            "required": [
                "name"
            ],
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "serviceProvisioningPolicy": {
                    "$ref": "#/definitions/ServiceProvisioningPolicy.ServiceProvisioningPolicy"
                },
                "heatDissipationThresholdPolicy": {
                    "$ref": "#/definitions/HeatDissipationThresholdPolicy.HeatDissipationThresholdPolicy"
                },
                "userActivityInfo": {
                    "$ref": "#/definitions/PlanningPolicy.UserActivityInfo"
                }
            }
        },
        "Reports.OmsNode": {
            "required": [
                "aid",
                "node"
            ],
            "type": "object",
            "properties": {
                "node": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "aid": {
                    "type": "string"
                }
            }
        },
        "Reports.Oms": {
            "required": [
                "destinationNode",
                "sourceNode"
            ],
            "type": "object",
            "properties": {
                "sourceNode": {
                    "$ref": "#/definitions/Reports.OmsNode"
                },
                "destinationNode": {
                    "$ref": "#/definitions/Reports.OmsNode"
                },
                "domain": {
                    "type": "string"
                },
                "roadmLineLabel": {
                    "type": "string"
                }
            }
        },
        "Reports.OmsReport": {
            "required": [
                "data"
            ],
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Reports.Oms"
                    }
                }
            }
        },
        "EquipmentReportItem+ChangeTypeTypes": {
            "enum": [
                "Added",
                "Removed",
                "Modified",
                "Undefined"
            ],
            "type": "string"
        },
        "Reports.EquipmentReportItem": {
            "required": [
                "changeType",
                "equipmentSpec",
                "location"
            ],
            "type": "object",
            "properties": {
                "node": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "equipmentSpec": {
                    "$ref": "#/definitions/Common.EquipmentSpec"
                },
                "location": {
                    "$ref": "#/definitions/Common.Location"
                },
                "changeType": {
                    "$ref": "#/definitions/EquipmentReportItem+ChangeTypeTypes"
                }
            }
        },
        "Reports.EquipmentReport": {
            "required": [
                "data"
            ],
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Reports.EquipmentReportItem"
                    }
                }
            }
        },
        "Automation.PhotonicNodeReportItem": {
            "type": "object",
            "properties": {
                "Tid": {
                    "type": "string"
                },
                "SiteName": {
                    "type": "string"
                },
                "SiteId": {
                    "format": "int32",
                    "type": "integer"
                },
                "SiteType": {
                    "type": "string"
                },
                "IsControlPlaneAvailable": {
                    "type": "boolean"
                },
                "CpMode": {
                    "type": "string"
                },
                "TotalFlexgridEnabledRoadmDegrees": {
                    "format": "int32",
                    "type": "integer"
                },
                "TotalNumOfShelves": {
                    "format": "int32",
                    "type": "integer"
                },
                "PhotonicShelfCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "ShelfType": {
                    "type": "string"
                },
                "ShelfPEC": {
                    "type": "string"
                },
                "IsDge": {
                    "type": "string"
                },
                "IsAccessAllowed": {
                    "type": "string"
                },
                "MaxOtsPerShelf": {
                    "format": "int32",
                    "type": "integer"
                },
                "IsConnectToLocalOpm": {
                    "type": "string"
                },
                "Lattitude": {
                    "format": "double",
                    "type": "number"
                },
                "Longitude": {
                    "format": "double",
                    "type": "number"
                },
                "OsrpNodeName": {
                    "type": "string"
                },
                "OsrpNodeId": {
                    "type": "string"
                },
                "Notes": {
                    "type": "string"
                },
                "WssType": {
                    "type": "string"
                },
                "LongName": {
                    "type": "string"
                }
            }
        },
        "Automation.TdmNodeReportItem": {
            "type": "object",
            "properties": {
                "NodeName": {
                    "type": "string"
                },
                "NodeType": {
                    "type": "string"
                }
            }
        },
        "Automation.TdmOSRPReportItem": {
            "type": "object",
            "properties": {
                "FromNodeName": {
                    "type": "string"
                },
                "ToNodeName": {
                    "type": "string"
                },
                "AdminWt": {
                    "type": "string"
                },
                "Delay": {
                    "type": "string"
                },
                "TotalBW": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                },
                "Utilization": {
                    "type": "string"
                }
            }
        },
        "Automation.TdmLineReportItem": {
            "type": "object",
            "properties": {
                "Size": {
                    "type": "string"
                },
                "TdmSncs": {
                    "type": "string"
                },
                "TdmSncps": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                },
                "Utilization": {
                    "type": "string"
                }
            }
        },
        "Automation.TdmSncReportItem": {
            "type": "object",
            "properties": {
                "SourceNode": {
                    "type": "string"
                },
                "DestinationNode": {
                    "type": "string"
                },
                "Size": {
                    "type": "string"
                },
                "PrimaryOVPN": {
                    "type": "string"
                },
                "SecondaryOVPN": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "IsOnHomeRoute": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                },
                "IsMeshRestorable": {
                    "type": "boolean"
                },
                "Name": {
                    "type": "string"
                },
                "SourceClientPortAid": {
                    "type": "string"
                },
                "DestinationClientPortAid": {
                    "type": "string"
                },
                "Customer": {
                    "type": "string"
                },
                "ClientType": {
                    "type": "string"
                },
                "McpNotes": {
                    "type": "string"
                }
            }
        },
        "Automation.TdmSncpReportItem": {
            "type": "object",
            "properties": {
                "Size": {
                    "type": "string"
                },
                "PrimaryOVPN": {
                    "type": "string"
                },
                "SecondaryOVPN": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                },
                "MeshRestorable": {
                    "type": "string"
                }
            }
        },
        "Automation.TransportTunnelReportItem": {
            "type": "object",
            "properties": {
                "ClientService": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            }
        },
        "Automation.ClientServiceReportItem": {
            "type": "object",
            "properties": {
                "Status": {
                    "type": "string"
                },
                "Type": {
                    "type": "string"
                }
            }
        },
        "Automation.PhotonicSncReportItem": {
            "type": "object",
            "properties": {
                "Name": {
                    "type": "string"
                },
                "CircuitId": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                },
                "Notes": {
                    "type": "string"
                },
                "ImportNotes": {
                    "type": "string"
                },
                "IsOpsEnabled": {
                    "type": "boolean"
                },
                "CurrentSourceAddDrop": {
                    "type": "string"
                },
                "CurrentDestinationAddDrop": {
                    "type": "string"
                },
                "Sncp": {
                    "type": "string"
                },
                "SourceSite": {
                    "type": "string"
                },
                "DestinationSite": {
                    "type": "string"
                },
                "SourceNetworkElement": {
                    "type": "string"
                },
                "DestinationNetworkElement": {
                    "type": "string"
                },
                "ModulationClass": {
                    "type": "string"
                },
                "PhotonicDWDMInterface": {
                    "type": "string"
                },
                "LineCard": {
                    "type": "string"
                },
                "LineCardPEC": {
                    "type": "string"
                },
                "SAStatus": {
                    "type": "string"
                },
                "PhotonicSncg": {
                    "type": "string"
                },
                "PlanningStatus": {
                    "type": "string"
                },
                "OpticalChannel": {
                    "type": "string"
                },
                "Wavelength": {
                    "type": "string"
                },
                "CentralFrequency": {
                    "format": "double",
                    "type": "number"
                },
                "SelectedSourceCMDAid": {
                    "type": "string"
                },
                "SelectedDestinationCMDAid": {
                    "type": "string"
                },
                "SelectedSourceCMDPort": {
                    "type": "string"
                },
                "SelectedDestinationCMDPort": {
                    "type": "string"
                },
                "ControlPlane": {
                    "type": "boolean"
                },
                "PlanningTimeStamp": {
                    "type": "string"
                },
                "Cktid": {
                    "type": "string"
                },
                "ArdType": {
                    "type": "string"
                },
                "ServiceId": {
                    "type": "string"
                },
                "SncMate": {
                    "type": "string"
                },
                "Role": {
                    "type": "string"
                },
                "RegenSites": {
                    "type": "string"
                }
            }
        },
        "Automation.OpticalChannelReportItem": {
            "type": "object",
            "properties": {
                "OchName": {
                    "type": "string"
                },
                "PreFecBitErrorRate": {
                    "type": "string"
                },
                "PostFecBitErrorRate": {
                    "type": "string"
                },
                "MeasuredCD": {
                    "format": "double",
                    "type": "number"
                },
                "MeasuredPMD": {
                    "format": "double",
                    "type": "number"
                },
                "MeasuredLatency": {
                    "format": "double",
                    "type": "number"
                }
            }
        },
        "Automation.PhotonicDtlTxInfoReportItem": {
            "type": "object",
            "properties": {
                "TransmissionMode": {
                    "type": "string"
                },
                "CmdAid": {
                    "type": "string"
                },
                "CentralFrequency": {
                    "format": "double",
                    "type": "number"
                },
                "LinkOptimizationMode": {
                    "type": "string"
                },
                "OnepSncgs": {
                    "type": "string"
                },
                "OnepSncs": {
                    "type": "string"
                }
            }
        },
        "Automation.PhotonicDtlReportItem": {
            "type": "object",
            "properties": {
                "Name": {
                    "type": "string"
                },
                "SourceSite": {
                    "type": "string"
                },
                "DestinationSite": {
                    "type": "string"
                },
                "ChannelCapacity": {
                    "type": "string"
                },
                "PhotonicDtlTxInfo": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.PhotonicDtlTxInfoReportItem"
                    }
                },
                "CascadedDTLsOrder": {
                    "type": "string"
                },
                "CascadedDTLsAdjacency": {
                    "type": "string"
                },
                "RegenLocation": {
                    "type": "string"
                },
                "NumberOfRegens": {
                    "format": "int32",
                    "type": "integer"
                },
                "DtlProvisioningData": {
                    "type": "string"
                }
            }
        },
        "Automation.OpsSncpsReportItem": {
            "type": "object",
            "properties": {
                "ServiceId": {
                    "type": "string"
                },
                "SourceId": {
                    "type": "string"
                },
                "DestinationId": {
                    "type": "string"
                },
                "Sncs": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                }
            }
        },
        "Automation.DtlSetReportItem": {
            "type": "object",
            "properties": {
                "Id": {
                    "type": "string"
                },
                "SourceId": {
                    "type": "string"
                },
                "DestinationId": {
                    "type": "string"
                },
                "DtlOrder": {
                    "type": "string"
                },
                "PSncs": {
                    "type": "string"
                }
            }
        },
        "Automation.CcmdLocReportItem": {
            "type": "object",
            "properties": {
                "Filter": {
                    "type": "string"
                },
                "Site": {
                    "type": "string"
                },
                "Tid": {
                    "type": "string"
                },
                "Shelf": {
                    "format": "int32",
                    "type": "integer"
                },
                "Slot": {
                    "format": "int32",
                    "type": "integer"
                },
                "LocMode": {
                    "type": "string"
                },
                "RefTxRx": {
                    "type": "string"
                },
                "McpoValue": {
                    "format": "double",
                    "type": "number"
                }
            }
        },
        "Automation.DwdmAdjacencyReportItem": {
            "type": "object",
            "properties": {
                "SncName": {
                    "type": "string"
                },
                "TxMinpower": {
                    "type": "string"
                },
                "TxMaxpower": {
                    "type": "string"
                },
                "TxCurpower": {
                    "type": "string"
                },
                "TxExcessloss": {
                    "type": "string"
                },
                "RxNominput": {
                    "type": "string"
                },
                "RxOverthereshold": {
                    "type": "string"
                },
                "RxSensthreshold": {
                    "type": "string"
                },
                "RxExcessloss": {
                    "type": "string"
                }
            }
        },
        "Automation.FiberTlReportItem": {
            "type": "object",
            "properties": {
                "Status": {
                    "type": "string"
                },
                "SimualtionAction": {
                    "type": "string"
                },
                "Notes": {
                    "type": "string"
                },
                "FiberName": {
                    "type": "string"
                },
                "Label": {
                    "type": "string"
                }
            }
        },
        "Automation.PhotonicOsrpSncpReportItem": {
            "type": "object",
            "properties": {
                "ServiceId": {
                    "type": "string"
                },
                "SourceId": {
                    "type": "string"
                },
                "DestinationId": {
                    "type": "string"
                },
                "Sncs": {
                    "type": "string"
                },
                "Status": {
                    "type": "string"
                },
                "SimulationAction": {
                    "type": "string"
                }
            }
        },
        "Automation.ShelfReportItem": {
            "type": "object",
            "properties": {
                "Tid": {
                    "type": "string"
                },
                "ShelfId": {
                    "format": "int32",
                    "type": "integer"
                },
                "SiteId": {
                    "format": "int32",
                    "type": "integer"
                },
                "SiteGroup": {
                    "type": "string"
                },
                "ShelfVersion": {
                    "type": "string"
                }
            }
        },
        "Automation.NetworkReportData": {
            "type": "object",
            "properties": {
                "PhotonicNodeData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.PhotonicNodeReportItem"
                    }
                },
                "TdmNodeData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.TdmNodeReportItem"
                    }
                },
                "TdmOSRPData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.TdmOSRPReportItem"
                    }
                },
                "TdmLineData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.TdmLineReportItem"
                    }
                },
                "TdmSncData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.TdmSncReportItem"
                    }
                },
                "TdmSncpData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.TdmSncpReportItem"
                    }
                },
                "TransportTunnelData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.TransportTunnelReportItem"
                    }
                },
                "ClientServiceData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.ClientServiceReportItem"
                    }
                },
                "PhotonicNodeDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "PhotonicSnc": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.PhotonicSncReportItem"
                    }
                },
                "PhotonicSncDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "OpticalChannelData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.OpticalChannelReportItem"
                    }
                },
                "OpticalChannelDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "PhotonicDtl": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.PhotonicDtlReportItem"
                    }
                },
                "PhotonicDtlDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "OpsSncps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.OpsSncpsReportItem"
                    }
                },
                "OpsSncpsDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "DtlSets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.DtlSetReportItem"
                    }
                },
                "DtlSetDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "CcmdLocData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.CcmdLocReportItem"
                    }
                },
                "DwdmAdjacencyData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.DwdmAdjacencyReportItem"
                    }
                },
                "DwdmAdjacencyDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "EquipmentData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Reports.EquipmentReportItem"
                    }
                },
                "EquipmentDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "CcmdLocDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "FiberDataCount": {
                    "format": "int32",
                    "type": "integer"
                },
                "FiberData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.FiberTlReportItem"
                    }
                },
                "PhotonicOsrpSncpsData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.PhotonicOsrpSncpReportItem"
                    }
                },
                "ShelvesData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Automation.ShelfReportItem"
                    }
                }
            }
        },
        "Reports.EquipmentDeltaReport": {
            "required": [
                "added",
                "removed"
            ],
            "type": "object",
            "properties": {
                "added": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Reports.EquipmentReportItem"
                    }
                },
                "removed": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Reports.EquipmentReportItem"
                    }
                }
            }
        },
        "ProjectNodeAndEquipmentDataItem+ChangeTypeTypes": {
            "enum": [
                "Added",
                "Removed",
                "Modified",
                "Undefined"
            ],
            "type": "string"
        },
        "Reports.ProjectNodeAndEquipmentDataItem": {
            "required": [
                "changeType",
                "node"
            ],
            "type": "object",
            "properties": {
                "node": {
                    "$ref": "#/definitions/Common.NodeIdentity"
                },
                "changeType": {
                    "$ref": "#/definitions/ProjectNodeAndEquipmentDataItem+ChangeTypeTypes"
                },
                "equipment": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Reports.EquipmentReportItem"
                    }
                }
            }
        },
        "Reports.ProjectNodeAndEquipmentDataReport": {
            "required": [
                "source"
            ],
            "type": "object",
            "properties": {
                "generationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "source": {
                    "$ref": "#/definitions/Common.Source"
                },
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Reports.ProjectNodeAndEquipmentDataItem"
                    }
                }
            }
        },
        "RuleExecutionResult+StatusTypes": {
            "enum": [
                "Passed",
                "Failed"
            ],
            "type": "string"
        },
        "RuleExecutionResult+SeverityTypes": {
            "enum": [
                "Error",
                "Warning",
                "Information"
            ],
            "type": "string"
        },
        "Common.RuleExecutionResult": {
            "type": "object",
            "properties": {
                "generationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "version": {
                    "type": "string"
                },
                "source": {
                    "$ref": "#/definitions/Common.Source"
                },
                "status": {
                    "$ref": "#/definitions/RuleExecutionResult+StatusTypes"
                },
                "severity": {
                    "$ref": "#/definitions/RuleExecutionResult+SeverityTypes"
                },
                "title": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "details": {
                    "type": "string"
                }
            }
        },
        "Reports.RuleExecutionReport": {
            "type": "object",
            "properties": {
                "generationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "version": {
                    "type": "string"
                },
                "source": {
                    "$ref": "#/definitions/Common.Source"
                },
                "results": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Common.RuleExecutionResult"
                    }
                }
            }
        },
        "EquipmentGroupAttributesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Deprecated"
                },
                "type": {
                    "type": "string",
                    "description": "The equipment group type"
                },
                "subType": {
                    "type": "string",
                    "description": "The equipment group sub type"
                },
                "userData": {
                    "description": "User data",
                    "$ref": "#/definitions/UserDataRO"
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourceState": {
                    "type": "string",
                    "description": "Nsi Resource State.",
                    "enum": [
                        "root",
                        "planned",
                        "discovered",
                        "plannedAndDiscovered",
                        "unknown"
                    ]
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the associated NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "EquipmentGroupDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the equipment group resource"
                },
                "type": {
                    "type": "string",
                    "description": "The equipmentGroup resource type",
                    "enum": [
                        "equipmentGroup"
                    ]
                },
                "attributes": {
                    "description": "The equipment group attributes",
                    "$ref": "#/definitions/EquipmentGroupAttributesRO"
                },
                "relationships": {
                    "description": "The equipment group relationships",
                    "$ref": "#/definitions/EquipmentGroupRelationshipsRO"
                }
            }
        },
        "EquipmentGroupElementAttributesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "startDate": {
                    "type": "string",
                    "description": "The scheduled start date and time of the expectation, with RFC 3339 date-time format"
                },
                "endDate": {
                    "type": "string",
                    "description": "The scheduled end date and time of the expectation, with RFC 3339 date-time format"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "EquipmentGroupExpectationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the equipment group expectation"
                },
                "type": {
                    "type": "string",
                    "description": "The equipment group expectation resource type",
                    "enum": [
                        "equipmentGroupExpectations"
                    ]
                },
                "attributes": {
                    "description": "The equipment group element attributes",
                    "$ref": "#/definitions/EquipmentGroupElementAttributesRO"
                },
                "relationships": {
                    "description": "The equipment group expectation relationships",
                    "$ref": "#/definitions/EquipmentGroupExpectationRelationshipsRO"
                }
            }
        },
        "EquipmentGroupExpectationListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentGroupExpectationDataRO"
                    }
                }
            }
        },
        "EquipmentGroupExpectationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/EquipmentGroupExpectationDataRO"
                }
            }
        },
        "EquipmentGroupExpectationRelationshipsRO": {
            "type": "object",
            "properties": {
                "equipment": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "parent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "intent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "EquipmentGroupListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentGroupDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Referenced sub-resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "EquipmentGroupRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "data": {
                    "$ref": "#/definitions/EquipmentGroupDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Referenced sub-resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "EquipmentGroupRelationshipsRO": {
            "type": "object",
            "properties": {
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipment": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "parent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "expectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "discovered": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "planned": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "EquipmentHolderAttributesRO": {
            "type": "object",
            "properties": {
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "nativeName": {
                    "type": "string"
                },
                "category": {
                    "type": "string",
                    "enum": [
                        "shelf",
                        "slot",
                        "subslot"
                    ]
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "EMPTY",
                        "INSTALLED_AND_EXPECTED",
                        "EXPECTED_AND_NOT_INSTALLED",
                        "INSTALLED_AND_NOT_EXPECTED",
                        "MISMATCH_OF_INSTALLED_AND_EXPECTED",
                        "UNAVAILABLE"
                    ]
                },
                "parentEquipmentLocation": {
                    "description": "Location of the entity",
                    "$ref": "#/definitions/LocationRO"
                },
                "userData": {
                    "description": "User data",
                    "$ref": "#/definitions/UserDataRO"
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the associated NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "EquipmentHolderDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the equipment holder resource"
                },
                "type": {
                    "type": "string",
                    "description": "The equipment holder resource type",
                    "enum": [
                        "equipmentHolders"
                    ]
                },
                "attributes": {
                    "description": "The equipment holder attributes",
                    "$ref": "#/definitions/EquipmentHolderAttributesRO"
                },
                "relationships": {
                    "description": "The equipment attributes",
                    "$ref": "#/definitions/EquipmentHolderRelationshipsRO"
                }
            }
        },
        "EquipmentHolderRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "data": {
                    "$ref": "#/definitions/EquipmentHolderDataRO"
                }
            }
        },
        "EquipmentHolderRelationshipsRO": {
            "type": "object",
            "properties": {
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "AccessPoint": {
            "type": "object",
            "properties": {
                "adaptsToLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "adaptsToLayerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "cardinality": {
                    "type": "string",
                    "description": "Number of possible potential TPEs. Can be a numeric (eg '1', '96', '1000', ...) or can be categorical (eg 'indirect')."
                },
                "clientTpeRulesInOwnLayer": {
                    "type": "array",
                    "description": "Directions of how to instantiate client TPE(s) for this access point, including indirect (client over client) client TPE instantiation.",
                    "items": {
                        "$ref": "#/definitions/ConnectionRule"
                    }
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRule"
                },
                "regenIdPackage": {
                    "description": "This package stores regen related information.",
                    "$ref": "#/definitions/RegenIdPackage"
                },
                "eDtlRegenIdPackage": {
                    "$ref": "#/definitions/eDtlRegenIdPackage"
                },
                "cascadedDtlTpePackage": {
                    "description": "This package stores cascaded dtl tpe information.",
                    "$ref": "#/definitions/CascadedDtlTpePackage"
                },
                "mirroringBandwidthRules": {
                    "type": "string",
                    "description": "The mirroringBandwithRules for capacity calculation"
                },
                "mirroringNamingRules": {
                    "type": "string",
                    "description": "The mirroringNamingRules for capacity calculation"
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "potentialGrowthCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "namingRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NamingRules"
                    }
                },
                "stitchingConstraint": {
                    "type": "string",
                    "description": "stitchingConstraint values",
                    "enum": [
                        "otnRegen"
                    ]
                }
            }
        },
        "AdaptationPool": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the AdaptationPool. Unique in the scope of this TPE."
                },
                "logicalRule": {
                    "type": "string",
                    "description": "Restrict the number of active poolAdapters could be xOR or OR - default is OR",
                    "enum": [
                        "xOR",
                        "OR"
                    ]
                },
                "poolAdapters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Adapter"
                    }
                },
                "memberAdaptationPools": {
                    "type": "array",
                    "description": "Reference(s) to 0 or more member AdaptationPool-s. Allows for nesting of AdaptationPools.",
                    "items": {
                        "type": "string"
                    }
                },
                "namingRules": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "Adapter": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the Adapter. Unique in the scope of this TPE."
                },
                "adaptsToLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "adaptsToLayerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "poolAdapterType": {
                    "type": "string",
                    "description": "The type for the adapter."
                },
                "connectionRulesInAdaptationLayer": {
                    "type": "array",
                    "description": "Directions of how to instantiate client TPE(s) for this adapter, including indirect (client over client) client TPE instantiation.",
                    "items": {
                        "$ref": "#/definitions/ConnectionRule"
                    }
                },
                "cardinality": {
                    "type": "string",
                    "description": "Number of possible potential TPEs. Can be a numeric (eg '1', '96', '1000', ...) or can be categorical (eg 'indirect')."
                },
                "continuousAdapterRulesPackage": {
                    "description": "This package stores various rules to be considered when instantiating a new TPE utilizing continuous b/w.",
                    "$ref": "#/definitions/ContinuousAdapterRulesPackage"
                },
                "mappingInteractionRules": {
                    "type": "array",
                    "description": "The specification of the interaction between the support for different client layer protocols signals.",
                    "items": {
                        "$ref": "#/definitions/MappingInteractionRule"
                    }
                },
                "potentialAdapterCapacities": {
                    "type": "array",
                    "description": "Total potential capacity of this Adapter.",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRule"
                },
                "photonicSpectrumPackage": {
                    "description": "This package stores photonic spectrum information.",
                    "$ref": "#/definitions/PhotonicSpectrumPackage"
                },
                "nameToCapacityMappingRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NameToCapacityMappingRules"
                    }
                },
                "eFreTerminationState": {
                    "type": "string",
                    "description": "Values to handle TPEs that have multiple poolAdapters, especially multiple poolAdapters adapting to the same layer rate",
                    "enum": [
                        "hapFre_terminated",
                        "hapFre_not_terminated"
                    ]
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "mirroringBandwidthRules": {
                    "type": "string",
                    "description": "The mirroringBandwithRules for capacity calculation"
                },
                "mirroringNamingRules": {
                    "type": "string",
                    "description": "The mirroringNamingRules for capacity calculation"
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "potentialGrowthCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "namingRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NamingRules"
                    }
                },
                "stitchingConstraint": {
                    "type": "string",
                    "description": "stitchingConstraint values",
                    "enum": [
                        "otnRegen"
                    ]
                }
            }
        },
        "AdditionalAttributes": {
            "type": "object"
        },
        "AdjacencyPackage": {
            "type": "object",
            "properties": {
                "adjacencyType": {
                    "type": "string",
                    "description": "This field delimits the adjacency type between two network elements (Ex: LIM, LINE, etc...)."
                },
                "localTag": {
                    "type": "string",
                    "description": "The actual tag of the originating network element."
                },
                "localTagFormat": {
                    "type": "string",
                    "description": "The format of the local adjacency tag."
                },
                "provisionedRemoteTag": {
                    "type": "string",
                    "description": "The provisioned remote tag is the expected destination defined by the user that adheres to the remoteTagFormat."
                },
                "provisionedRemoteTagFormat": {
                    "type": "string",
                    "description": "The format of the remote provisioning adjacency tag."
                },
                "remoteTag": {
                    "type": "string",
                    "description": "The actual remote tag as discovered by the network element."
                },
                "remoteTagFormat": {
                    "type": "string",
                    "description": "The format of the remote adjacency tag."
                },
                "topologySourceTag": {
                    "type": "string",
                    "description": "The tag representing the topological state. This could be 'DISCOVERED', for example."
                },
                "adjacencyMechanism": {
                    "type": "string",
                    "description": "The attribute defining the adjacency mechanism used."
                },
                "linkAttributes": {
                    "description": "This package stores information of Link.",
                    "$ref": "#/definitions/LinkAttributes"
                }
            }
        },
        "BandwidthThreshold": {
            "type": "object",
            "properties": {
                "ODU0": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU0) advertised for a link."
                },
                "ODU1": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU1) advertised for a link."
                },
                "ODU2": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU2) advertised for a link."
                },
                "ODU2E": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU2E) advertised for a link."
                },
                "ODU3": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU3) advertised for a link."
                },
                "ODU4": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU4) advertised for a link."
                },
                "ODUFLEXRSZ": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (in Bps) for Resizable ODU Flex advertised for a link."
                },
                "ODUFLEXNRSZ": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (in Bps) for Non-Resizable ODU Flex advertised for a link."
                }
            }
        },
        "Bfd": {
            "type": "object",
            "properties": {
                "bfdType": {
                    "type": "string",
                    "description": "Type of BFD - ipBFD, mplsBFD or bgpBFD",
                    "enum": [
                        "ipBFD",
                        "mplsBFD",
                        "bgpBFD"
                    ]
                },
                "configured": {
                    "type": "boolean",
                    "description": "True when BFD is enabled on this endpoint",
                    "default": false
                },
                "profileName": {
                    "type": "string",
                    "description": "The profile name associated with this set of BFD attributes"
                },
                "adminState": {
                    "type": "string",
                    "description": "The administrative state of BFD for this endpoint",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "operationalState": {
                    "type": "string",
                    "description": "The operational state of BFD for this endpoint",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "role": {
                    "type": "string",
                    "description": "The role of BFD for this endpoint",
                    "enum": [
                        "passive",
                        "active",
                        "any"
                    ]
                },
                "transmitInterval": {
                    "type": "string",
                    "description": "The interval between transmitting BFD messages"
                },
                "receiveInterval": {
                    "type": "string",
                    "description": "The interval between receiving BFD messages"
                },
                "ipEncapsulation": {
                    "type": "boolean",
                    "description": "To report IP settings on the interface",
                    "default": false
                },
                "pathType": {
                    "type": "string",
                    "description": "Single-hop BFD or Multi-hop BFD",
                    "enum": [
                        "ipsh",
                        "ipmh"
                    ]
                },
                "srcAddress": {
                    "type": "string",
                    "description": "Local IP address"
                },
                "destAddress": {
                    "type": "string",
                    "description": "IP address of the peer"
                },
                "localMultiplier": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The negotiated transmit interval, multiplied by this value, provides the Detection Time for the receiving system"
                },
                "desiredMinTxInterval": {
                    "type": "string",
                    "description": "Rate at which BFD Control packets are transmitted to the remote system "
                },
                "requiredMinRxInterval": {
                    "type": "string",
                    "description": "Rate at which BFD Control packets arrive from the remote system"
                },
                "sourcePort": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Source UDP port valid only when IP encapsulation is used"
                },
                "destPort": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Destination UDP port valid only when IP encapsulation is used"
                },
                "diagnostic": {
                    "type": "string",
                    "description": "A diagnostic code specifying the local system's reason for the last change in session state"
                },
                "mhop": {
                    "type": "boolean",
                    "description": "True when multihop IP BFD is enabled for BGP on this endpoint",
                    "default": false
                }
            }
        },
        "BgpAddPath": {
            "type": "object",
            "properties": {
                "capability": {
                    "type": "string",
                    "description": "The add-path capability towards the neighbor.",
                    "enum": [
                        "send",
                        "receive",
                        "both"
                    ]
                },
                "advertise": {
                    "type": "string",
                    "description": "The number of paths to advertise to the neighbor. Applicable only when the capability is send or both.",
                    "enum": [
                        "all",
                        "best2",
                        "best3"
                    ]
                },
                "diversePath": {
                    "type": "boolean",
                    "description": "BGP PIC Diverse Path.",
                    "default": false
                }
            }
        },
        "BgpAfiSafi": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Supported afi-safi names.",
                    "enum": [
                        "IPV4_UNICAST",
                        "IPV4_LABELED_UNICAST"
                    ]
                },
                "activated": {
                    "type": "boolean",
                    "description": "true if activated otherwise false",
                    "default": false
                },
                "grCapability": {
                    "type": "string",
                    "description": "GR capability",
                    "enum": [
                        "enabled",
                        "disabled"
                    ]
                },
                "prefixList": {
                    "description": "This stores BGP Afi Safi Prefix List related information.",
                    "$ref": "#/definitions/AfiSafiPrefixList"
                },
                "orf": {
                    "description": "This stores BGP Afi Safi Orf related information.",
                    "$ref": "#/definitions/AfiSafiOrf"
                },
                "addPath": {
                    "description": "The add-path configuration for the neighbor.",
                    "$ref": "#/definitions/BgpAddPath"
                },
                "routeMap": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BgpRouteMap"
                    }
                },
                "rrEnabled": {
                    "type": "boolean",
                    "description": "true/false depending on if nbr is added as route reflector client for afi and safi",
                    "default": false
                },
                "nextHopSelf": {
                    "description": "This stores BGP Afi Safi NextHopSelf related information.",
                    "$ref": "#/definitions/AfiSafiNextHopSelf"
                }
            }
        },
        "BgpBfd": {
            "type": "object",
            "properties": {
                "configured": {
                    "type": "boolean",
                    "description": "True when BFD is enabled on this endpoint",
                    "default": false
                },
                "profileName": {
                    "type": "string",
                    "description": "The profile name associated with this set of BFD attributes"
                },
                "adminState": {
                    "type": "string",
                    "description": "The administrative state of BFD for this endpoint",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "operationalState": {
                    "type": "string",
                    "description": "The operational state of BFD for this endpoint",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "role": {
                    "type": "string",
                    "description": "The role of BFD for this endpoint",
                    "enum": [
                        "passive",
                        "active",
                        "any"
                    ]
                },
                "transmitInterval": {
                    "type": "string",
                    "description": "The interval between transmitting BFD messages"
                },
                "receiveInterval": {
                    "type": "string",
                    "description": "The interval between receiving BFD messages"
                },
                "mhop": {
                    "type": "boolean",
                    "description": "True when BFD is enabled on this endpoint",
                    "default": false
                }
            }
        },
        "BgpMsgs": {
            "type": "object",
            "properties": {
                "peerInUpdates": {
                    "type": "string",
                    "description": "Number of peer in updates"
                },
                "peerOutUpdates": {
                    "type": "string",
                    "description": "Number of peer out updates"
                },
                "peerInTotalMessages": {
                    "type": "string",
                    "description": "Total Number of peer messages"
                },
                "peerOutTotalMessages": {
                    "type": "string",
                    "description": "Total number of peer out messages"
                },
                "peerInUpdateElapsedTime": {
                    "type": "string",
                    "description": "Peer updated elapsed time in seconds"
                },
                "lastError": {
                    "description": "This stores BGP Message Last Error related information.",
                    "$ref": "#/definitions/MsgsLastError"
                }
            }
        },
        "BgpPackage": {
            "type": "object",
            "properties": {
                "peerType": {
                    "type": "string",
                    "description": "internal/external depending on peerAs number is same as local or different.",
                    "enum": [
                        "internal",
                        "external"
                    ]
                },
                "peerAs": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Autonomous System number configured for the peer."
                },
                "peerBgpIdentifier": {
                    "type": "string",
                    "description": "BGP identifier of the peer. Learned only in OPEN CONFIRM and ESTABLISHED states."
                },
                "peerState": {
                    "type": "string",
                    "description": "BGP states",
                    "enum": [
                        "idle",
                        "connect",
                        "active",
                        "opensent",
                        "openconfirm",
                        "established"
                    ]
                },
                "peerNegotiatedBGPVersion": {
                    "type": "string",
                    "description": "Learned only in OPENCONFIRM and ESTABLISHED states."
                },
                "peerFsmEstablishedTransitions": {
                    "type": "string",
                    "description": "Peer Fsm established transitions."
                },
                "security": {
                    "description": "Security related config.",
                    "$ref": "#/definitions/BgpSecurity"
                },
                "peerFsmEstablishedTime": {
                    "type": "string",
                    "description": "Peer Fsm established time in seconds."
                },
                "bfd": {
                    "description": "Holds BFD attributes for BGP TPE endpoint",
                    "$ref": "#/definitions/BgpBfd"
                },
                "transport": {
                    "description": "This package stores BGP transport related information.",
                    "$ref": "#/definitions/BgpTransport"
                },
                "timers": {
                    "description": "This package stores BGP time related information.",
                    "$ref": "#/definitions/BgpTimers"
                },
                "rr": {
                    "description": "This package stores BGP route reflector related information.",
                    "$ref": "#/definitions/BgpRr"
                },
                "msgs": {
                    "description": "This package stores BGP message related information.",
                    "$ref": "#/definitions/BgpMsgs"
                },
                "afiSafi": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BgpAfiSafi"
                    }
                }
            }
        },
        "BgpRouteMap": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The route-map name."
                },
                "direction": {
                    "type": "string",
                    "description": "The route-map direction.",
                    "enum": [
                        "in",
                        "out"
                    ]
                }
            }
        },
        "BgpRr": {
            "type": "object",
            "properties": {
                "peerClusterId": {
                    "type": "string",
                    "description": "The cluster-id to which peer belongs if it is configured as RR client."
                },
                "peerRole": {
                    "type": "string",
                    "description": "Role of the peer",
                    "enum": [
                        "client",
                        "routeReflector"
                    ]
                },
                "role": {
                    "type": "string",
                    "description": "self role",
                    "enum": [
                        "client",
                        "routeReflector"
                    ]
                }
            }
        },
        "BgpSecurity": {
            "type": "object",
            "properties": {
                "md5Authentication": {
                    "type": "string",
                    "description": "If MD5 authentication is enabled or disabled for the neighbor.",
                    "enum": [
                        "enabled",
                        "disabled"
                    ]
                }
            }
        },
        "BgpTimers": {
            "type": "object",
            "properties": {
                "peerConnectRetryInterval": {
                    "type": "string",
                    "description": "Peer connection retry intervel in seconds."
                },
                "peerNegotiatedHoldTime": {
                    "type": "string",
                    "description": "Peer negotiation hold time in seconds"
                },
                "peerConfiguredHoldTime": {
                    "type": "string",
                    "description": "Peer configured hold time in seconds"
                },
                "peerNegotiatedKeepAliveTime": {
                    "type": "string",
                    "description": "Peer negotiation keep alive time in seconds"
                },
                "peerConfiguredKeepAliveTime": {
                    "type": "string",
                    "description": "Peer configured keep alive time in seconds"
                },
                "peerMinASOriginationInterval": {
                    "type": "string",
                    "description": "Peer minimum AS origination intervel in seconds"
                },
                "peerMinRouteAdvertisementInterval": {
                    "type": "string",
                    "description": "Peer minimum advertised intervel in seconds"
                }
            }
        },
        "BgpTransport": {
            "type": "object",
            "properties": {
                "updateSource": {
                    "type": "string",
                    "description": "The name of IP interface used with update-source."
                },
                "localIp": {
                    "type": "string",
                    "description": "If update-source is configured then IP address of the interface. Rely on learned localIp if it is reported. Reported in OPENCONFIRM and ESTABLISHED states."
                },
                "localPort": {
                    "type": "string",
                    "description": "Local port reported in OPENCONFIRM and ESTABLISHED states."
                },
                "peerIp": {
                    "type": "string",
                    "description": "Peer Ip configured as part of BGP peer configuration."
                },
                "peerPort": {
                    "type": "string",
                    "description": "Peer port reported in OPENCONFIRM and ESTABLISHED states."
                }
            }
        },
        "Bw": {
            "type": "object",
            "properties": {
                "unit": {
                    "type": "string",
                    "description": "The bandwidth unit that applies to all bandwidth attributes in this package. E.g.: bps, kbps, mbps, gbps",
                    "enum": [
                        "bps",
                        "kbps",
                        "mbps",
                        "gbps"
                    ]
                },
                "total": {
                    "type": "number",
                    "format": "double",
                    "description": "The total bandwidth configured for supported clients"
                },
                "used": {
                    "type": "number",
                    "format": "double",
                    "description": "The current used bandwidth by all supported clients"
                },
                "available": {
                    "type": "number",
                    "format": "double",
                    "description": "The remaining bandwidth available for supported clients"
                }
            }
        },
        "CalendarChannelDetails": {
            "type": "object",
            "properties": {
                "calendars": {
                    "type": "array",
                    "description": "List of calendar details for the FlexE group",
                    "items": {
                        "$ref": "#/definitions/CalendarDetails"
                    }
                },
                "channels": {
                    "description": "This package stores the channel details for the FlexE group. Key is the name of each FlexE channel",
                    "$ref": "#/definitions/Channels"
                }
            }
        },
        "CalendarDetails": {
            "type": "object",
            "properties": {
                "calendarName": {
                    "type": "string",
                    "description": "Name for FlexE calendar"
                },
                "calendarMappings": {
                    "type": "array",
                    "description": "List of calendar-slot mappings of the FlexE calendar for the FlexE group",
                    "items": {
                        "$ref": "#/definitions/PhyDetails"
                    }
                }
            }
        },
        "Capacity": {
            "type": "object",
            "properties": {
                "layer": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "capacityClass": {
                    "type": "string",
                    "description": "Discrete – b/w space is treated as a list of discrete values; this is default. Continuous – b/w space is treated as continuous segment, in the range of low/upper.",
                    "enum": [
                        "discrete",
                        "continuous"
                    ]
                },
                "capacity": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of potential client instances or usage instances"
                },
                "capacityType": {
                    "type": "string",
                    "description": "Resizable or Non-Resizable capacity type of ODUFLEX",
                    "enum": [
                        "RSZ",
                        "NRSZ"
                    ]
                },
                "capacitySize": {
                    "description": "Identifies how the capacity size is to be interpreted : LIST is a discrete list of values, RANGE is a range in values etc...",
                    "$ref": "#/definitions/CapacitySize"
                },
                "capacityCalculationRule": {
                    "type": "string",
                    "description": "Core logic that will be used on capacity calculation"
                },
                "source": {
                    "type": "string",
                    "description": "Source of the capacity"
                },
                "maxLimit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Maximum potential client instances"
                }
            }
        },
        "CapacityPattern": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Identifies Pattern type",
                    "enum": [
                        "LIST",
                        "RANGE",
                        "POOL",
                        "PERCENTAGE"
                    ]
                },
                "format": {
                    "type": "string",
                    "description": "An optional regex expression or format string describing how to parse the size string in case of multiple values, e.g. CIR:EIR"
                }
            }
        },
        "CapacitySize": {
            "type": "object",
            "properties": {
                "size": {
                    "type": "array",
                    "description": "Capacity size to be interpreted with CapacityPattern",
                    "items": {
                        "type": "string"
                    }
                },
                "pattern": {
                    "description": "Identifies how the capacity size is to be interpreted : LIST is a discrete list of values, RANGE is a range in values etc...",
                    "$ref": "#/definitions/CapacityPattern"
                },
                "unit": {
                    "type": "string",
                    "description": "unit for size string value"
                }
            }
        },
        "CascadedDtlTpePackage": {
            "type": "object",
            "properties": {
                "cascadedDtlIdTuple": {
                    "type": "string",
                    "description": "This field Cascaded DTL ID Tuple info.."
                }
            }
        },
        "Channels": {
            "type": "object"
        },
        "ClientPortRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The container object for the Client Port request data. This component is designed to be JSON API compliant.",
                    "$ref": "#/definitions/ClientPortRequestData"
                }
            }
        },
        "ClientPortRequestAttributes": {
            "type": "object",
            "properties": {
                "ncId": {
                    "type": "string",
                    "description": "The NetworkConstruct Id for the Client Port"
                },
                "location": {
                    "type": "string",
                    "description": "Location of the client port"
                },
                "locationFormat": {
                    "type": "string",
                    "description": "Location format, for example: shelf-slot-port"
                },
                "portType": {
                    "type": "string",
                    "description": "Rate of the Client port"
                }
            }
        },
        "ClientPortRequestData": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on a Client Port",
                    "enum": [
                        "create",
                        "enable",
                        "disable",
                        "delete"
                    ]
                },
                "attributes": {
                    "description": "Attributes of an Client Port Request",
                    "$ref": "#/definitions/ClientPortRequestAttributes"
                }
            }
        },
        "ClientPortResponse": {
            "type": "object",
            "properties": {
                "attributes": {
                    "description": "Attributes of an Client Port Request",
                    "$ref": "#/definitions/ClientPortResponseAttributes"
                }
            }
        },
        "ClientPortResponseAttributes": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "The requested client port operation"
                },
                "ncId": {
                    "type": "string",
                    "description": "The NetworkConstruct Id for the Client Port"
                },
                "location": {
                    "type": "string",
                    "description": "Location of the client port"
                },
                "statusMessage": {
                    "type": "string",
                    "description": "status message of the operation requested"
                }
            }
        },
        "ColorEntry": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the color"
                },
                "bitmask": {
                    "type": "string",
                    "description": "The 32-bit hexadecimal bitmask of the color"
                }
            }
        },
        "ColorGroup": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the color group"
                },
                "bitmask": {
                    "type": "string",
                    "description": "The 32-bit hexadecimal bitmask of the color group"
                },
                "colors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ColorEntry"
                    }
                }
            }
        },
        "ConnectionPoint": {
            "type": "object",
            "properties": {
                "owningPoolAdapterType": {
                    "type": "string",
                    "description": "Type of the owner Adapter."
                },
                "dynamicOwningPoolAdapterFgiRules": {
                    "type": "array",
                    "description": "dynamicOwningPoolAdapterFgiRules",
                    "items": {
                        "type": "string"
                    }
                },
                "mirroringBandwidthRules": {
                    "type": "string",
                    "description": "The mirroringBandwithRules for capacity calculation"
                },
                "mirroringNamingRules": {
                    "type": "string",
                    "description": "The mirroringNamingRules for capacity calculation"
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "potentialGrowthCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "namingRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NamingRules"
                    }
                },
                "stitchingConstraint": {
                    "type": "string",
                    "description": "stitchingConstraint values",
                    "enum": [
                        "otnRegen"
                    ]
                }
            }
        },
        "ConnectionRule": {
            "type": "object",
            "properties": {
                "targetLayer": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "rule": {
                    "type": "string",
                    "description": "toServerUsingClientExternalFGRule matchers server's clientExternalFGRule",
                    "enum": [
                        "mustConnectInternally",
                        "clientExternalFGRule",
                        "connectsExternally",
                        "toServerUsingClientExternalFGRule",
                        "externalFGRule",
                        "externalFGRuleViaImmediateClientPotential",
                        "toDualPortPeerUsingClientExternalFGRule",
                        "transitionalAtCreationTime"
                    ]
                },
                "immediateClientPotential": {
                    "type": "string",
                    "description": "If describing connectionRulesInAdaptationLayer: names of TPESpec of immediate client TPE. If describing connectionRulesInOwnLayer: null (not relevant). If describing mustConnectInternally: null (not relevant)."
                },
                "immediateDualPortPeerPotential": {
                    "type": "string",
                    "description": "If describing connectionRulesInAdaptationLayer: names of TPESpec of dual port peer TPE. If describing connectionRulesInOwnLayer: null (not relevant). If describing mustConnectInternally: null (not relevant)."
                }
            }
        },
        "ContinuousAdapterRulesPackage": {
            "type": "object",
            "properties": {
                "segmentationRule": {
                    "type": "string",
                    "description": "Whether the segment can be fragmented.",
                    "enum": [
                        "oneSegementInGroup"
                    ]
                },
                "widthRule": {
                    "type": "string",
                    "description": "How wide the range can be. Can point to a specific algorithm to be executed.",
                    "enum": [
                        "mediaChannelWidthRule",
                        "nmcWidthRule"
                    ]
                },
                "lowerBoundaryRule": {
                    "type": "string",
                    "description": "Rule that the boundary of the range must follow. Can point to a specific algorithm to be executed.",
                    "enum": [
                        "mustSnapTo6_25GHzGrid_0_768",
                        "mustSnapTo37_5GHzGrid_0_96",
                        "snapTo6_25GHzGrid",
                        "snapTo50GHzGrid",
                        "snapTo100GHzGrid",
                        "snapTo75GHzGrid"
                    ]
                },
                "upperBoundaryRule": {
                    "type": "string",
                    "description": "Rule that the boundary of the range must follow. Can point to a specific algorithm to be executed.",
                    "enum": [
                        "mustSnapTo6_25GHzGrid_0_768",
                        "mustSnapTo37_5GHzGrid_0_96",
                        "snapTo6_25GHzGrid",
                        "snapTo50GHzGrid",
                        "snapTo100GHzGrid",
                        "snapTo75GHzGrid"
                    ]
                },
                "centerFrequencyRule": {
                    "type": "string",
                    "description": "Rule that the centerFrequency of the range must follow. Can point to a specific algorithm to be executed.",
                    "enum": [
                        "transponderResolution"
                    ]
                }
            }
        },
        "ControlPlaneLine": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Control Plane Line Id e.g. 1101"
                },
                "shelf": {
                    "type": "string",
                    "description": "Control Plane Line Shelf e.g. 11"
                },
                "lineTerminationPoint": {
                    "type": "string",
                    "description": "Control Plane Line Termination Point (source endpoint). Should follow the format: ADJ-SH-SL-PRT (ADJ-11-1-5)"
                }
            }
        },
        "ControlPlanePackage": {
            "type": "object",
            "properties": {
                "osrpCommChannel": {
                    "type": "string",
                    "description": "communication carrier.",
                    "enum": [
                        "GCC0",
                        "GCC1",
                        "GCC2",
                        "GCC12"
                    ]
                },
                "ovpnIds": {
                    "type": "array",
                    "description": "The optical virtual private network ID list",
                    "items": {
                        "type": "string"
                    }
                },
                "applicableRates": {
                    "type": "string",
                    "description": "Applicable Rates list"
                },
                "holdBackSdThresholds": {
                    "type": "string",
                    "description": "Holdback signal degrade threshold"
                },
                "bwThresholdMode": {
                    "type": "string",
                    "description": "The default setting of OSRP link bandwidth threshold mode",
                    "enum": [
                        "ADV_ALL",
                        "AUTO",
                        "MANUAL"
                    ]
                },
                "commonId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Common identifier of the OSRP line"
                },
                "holdOffTimer": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Line-Level hold-off timer "
                },
                "configuredLatencyType": {
                    "type": "string",
                    "description": "Describe whether the latency is discovered or  manual.",
                    "enum": [
                        "disc",
                        "manual"
                    ]
                },
                "isMaster": {
                    "type": "boolean",
                    "description": "Specifies if this end of the OSRP link is the master.",
                    "default": false
                },
                "commState": {
                    "type": "string",
                    "description": "State of the Hello protocol finite state machine."
                },
                "bwLockOut": {
                    "type": "string",
                    "description": "Specifies if bandwidth lockout is enabled locally for the OSRP line.",
                    "enum": [
                        "NO",
                        "YES"
                    ]
                },
                "bwThreshold": {
                    "$ref": "#/definitions/BandwidthThreshold"
                },
                "preemptionBandwidth": {
                    "$ref": "#/definitions/PreemptionBandwidth"
                }
            }
        },
        "EquipmentIntentEditAdjTargetLocation": {
            "type": "object",
            "properties": {
                "networkElement": {
                    "type": "string",
                    "description": "The name/tid of the Network Element."
                },
                "layerRate": {
                    "type": "string",
                    "description": "layer rate on which topology is created."
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "layer rate Qualifier on which topology is created."
                },
                "shelf": {
                    "type": "string",
                    "description": "The shelf associated with this equipment."
                },
                "slot": {
                    "type": "string",
                    "description": "The slot associated with this equipment."
                },
                "subslot": {
                    "type": "string",
                    "description": "The subslot associated with this equipment."
                },
                "port": {
                    "type": "string",
                    "description": "The port value associated with this endpoint."
                }
            }
        },
        "EquipmentIntentEditRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Data for one or more pieces of equipment (circuit packs and pluggables) to be deployed in network.",
                    "$ref": "#/definitions/EquipmentIntentEditRequestData"
                }
            }
        },
        "EquipmentIntentEditRequestAdj": {
            "type": "object",
            "properties": {
                "userLabel": {
                    "type": "string",
                    "description": "user label of the topology"
                },
                "targetLocation": {
                    "$ref": "#/definitions/EquipmentIntentEditAdjTargetLocation"
                }
            }
        },
        "EquipmentIntentEditRequestAttributes": {
            "type": "object",
            "properties": {
                "intentId": {
                    "type": "string",
                    "description": "Intent ID of planned intent"
                },
                "equipment": {
                    "type": "array",
                    "description": "The equipment associated with this intent (shelves, cards, pluggables, fans, etc).",
                    "items": {
                        "$ref": "#/definitions/EquipmentIntentEditRequestEqp"
                    }
                }
            }
        },
        "EquipmentIntentEditRequestData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "description": "Attributes of an equipment intent.",
                    "$ref": "#/definitions/EquipmentIntentEditRequestAttributes"
                }
            }
        },
        "EquipmentIntentEditRequestEqp": {
            "type": "object",
            "properties": {
                "eqpId": {
                    "type": "string",
                    "description": "Unique identifier associated with this equipment."
                },
                "customerCode": {
                    "type": "string",
                    "description": "Customer Code"
                },
                "editAdj": {
                    "type": "array",
                    "description": "Attribute details need to be updated on equipment. like user label.",
                    "items": {
                        "$ref": "#/definitions/EquipmentIntentEditRequestAdj"
                    }
                }
            }
        },
        "EquipmentIntentRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Data for one or more pieces of equipment (circuit packs and pluggables) to be deployed in network.",
                    "$ref": "#/definitions/EquipmentIntentRequestData"
                }
            }
        },
        "EquipmentIntentRequestAttributes": {
            "type": "object",
            "properties": {
                "planningProjectId": {
                    "type": "string",
                    "description": "The planning project identifier associated with this intent. This field is required for any commissioning actions that take place after equipment provisioning is complete (required for add/drop for example)."
                },
                "turnUpDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "For most users, a hard date as to when committed equipment should be deployed/installed.  For other customers, a soft/best guesstimate date for equipment deployment. If equipment arrives before this date, it will be provisioned immediately."
                },
                "turnDownDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The expected date associated with decommissioning the equipment."
                },
                "equipmentGroups": {
                    "type": "array",
                    "description": "The groups of equipment (OTS, Mating, etc.). Not all equipment must participate in a group.",
                    "items": {
                        "$ref": "#/definitions/EquipmentIntentRequestEqpGrp"
                    }
                },
                "equipment": {
                    "type": "array",
                    "description": "The equipment associated with this intent (shelves, cards, pluggables, fans, etc).",
                    "items": {
                        "$ref": "#/definitions/EquipmentIntentRequestEqp"
                    }
                }
            }
        },
        "EquipmentIntentRequestData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "description": "Attributes of an equipment intent.",
                    "$ref": "#/definitions/EquipmentIntentRequestAttributes"
                }
            }
        },
        "EquipmentIntentRequestEndPoint": {
            "type": "object",
            "properties": {
                "port": {
                    "type": "string",
                    "description": "The port value associated with this endpoint."
                },
                "layerTerminations": {
                    "type": "array",
                    "description": "Transmission parameters to be provisioned on TPE layer terminations",
                    "items": {
                        "$ref": "#/definitions/LayerTermination"
                    }
                }
            }
        },
        "EquipmentIntentRequestEqp": {
            "type": "object",
            "properties": {
                "eqpId": {
                    "type": "string",
                    "description": "Unique identifier associated with this equipment."
                },
                "projectID": {
                    "type": "string",
                    "description": "0-16 character alphanumeric text field to be stored against the relevant equipment. This field maps to the projectName field in the Resource Planning Tool."
                },
                "networkElement": {
                    "description": "Data associated with a particular network element.",
                    "$ref": "#/definitions/NetworkElement"
                },
                "shelf": {
                    "type": "string",
                    "description": "The shelf associated with this equipment (may be none)."
                },
                "subshelf": {
                    "type": "string",
                    "description": "The subshelf associated with this equipment (may be none)."
                },
                "slot": {
                    "type": "string",
                    "description": "The slot associated with this equipment (may be none)."
                },
                "subslot": {
                    "type": "string",
                    "description": "The subslot associated with this equipment (may be none)."
                },
                "partNumber": {
                    "type": "string",
                    "description": "The part number the uniquely identifies the type of this piece of equipment."
                },
                "maintenanceMode": {
                    "type": "boolean",
                    "description": "Determines whether events for this piece of equipment will be responded to. Note that it is possible to deactivate maintenance mode at a later date.",
                    "default": false
                },
                "reservedForMaintenance": {
                    "type": "boolean",
                    "description": "If reserved for maintenance is set to true Equipment primary state is set to OOS during provisioning.",
                    "default": false
                },
                "samData": {
                    "description": "Data specific to the Service Access Module (SAM card)",
                    "$ref": "#/definitions/SamData"
                },
                "nodeType": {
                    "type": "string",
                    "description": "The type of node this equipment exists on. OADM nodes contain the add/drop banks while ILA and DGE nodes are used for amplification between OADMs.",
                    "enum": [
                        "OADM",
                        "ILA",
                        "DGE"
                    ]
                },
                "cardType": {
                    "type": "string",
                    "description": "The card type of this equipment. Required for filler or common equipment"
                },
                "endpoints": {
                    "type": "array",
                    "description": "Endpoints associated with this piece of equipment. Note that only those endpoints with associated adjacencies need to be specified.",
                    "items": {
                        "$ref": "#/definitions/EquipmentIntentRequestEndPoint"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "EquipmentIntentRequestEqpGrp": {
            "type": "object",
            "properties": {
                "eqpGrpId": {
                    "type": "string",
                    "description": "Unique identifier associated with this equipment group."
                },
                "networkElement": {
                    "description": "Data associated with a particular network element.",
                    "$ref": "#/definitions/NetworkElement"
                },
                "name": {
                    "type": "string",
                    "description": "The name of this equipment group."
                },
                "type": {
                    "type": "string",
                    "description": "The type of the equipment group.",
                    "enum": [
                        "OTS",
                        "SLOTSEQUENCE",
                        "OTNBBPAIRING",
                        "REGEN"
                    ]
                },
                "subEquipmentGroupReferences": {
                    "type": "array",
                    "description": "In some cases equipment groups can reference other equipment groups, this is done by adding the ids of these sub-groups to this array.",
                    "items": {
                        "type": "string"
                    }
                },
                "equipmentReferences": {
                    "type": "array",
                    "description": "An array of equipment ids for equipment associated with this group.",
                    "items": {
                        "type": "string"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "EquipmentIntentResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/EquipmentIntentResponseData"
                }
            }
        },
        "EquipmentIntentResponseArray": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "An array of equipment intent response data objects.",
                    "items": {
                        "$ref": "#/definitions/EquipmentIntentResponseData"
                    }
                }
            }
        },
        "EquipmentIntentResponseAttributes": {
            "type": "object",
            "properties": {
                "creationTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The date that this intent was created."
                },
                "request": {
                    "description": "Data for one or more pieces of equipment (circuit packs and pluggables) to be deployed in network.",
                    "$ref": "#/definitions/EquipmentIntentRequestData"
                }
            }
        },
        "EquipmentIntentResponseData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of this equipment intent."
                },
                "type": {
                    "type": "string",
                    "description": "The type of this EquipmentIntentResponseData."
                },
                "attributes": {
                    "description": "Response to REST requests containing ID, creationTime, and the Request itself",
                    "$ref": "#/definitions/EquipmentIntentResponseAttributes"
                }
            }
        },
        "EquipmentStateRequest": {
            "type": "object",
            "properties": {
                "serviceIntentId": {
                    "type": "string",
                    "description": "Service Intent ID"
                },
                "serviceIntentOperation": {
                    "type": "string",
                    "description": "The type of operation being peformed on service intent",
                    "enum": [
                        "CREATE",
                        "DELETE",
                        "DEPLOY",
                        "UNDEPLOY"
                    ]
                }
            }
        },
        "FbProfile": {
            "type": "object",
            "properties": {
                "profileName": {
                    "type": "string",
                    "description": "The profile name associated with this set of Fb attributes"
                },
                "index": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Index count of profile"
                },
                "associatedInterfaces": {
                    "type": "array",
                    "description": "List of IP interfaces this FB profile is associated with",
                    "items": {
                        "type": "string"
                    }
                },
                "nodesShareSrlg": {
                    "type": "array",
                    "description": "List of srlg that represents sharable srlg for source node of IP interfaces this fb profile is protecting",
                    "items": {
                        "type": "string"
                    }
                },
                "linksShareSrlg": {
                    "type": "array",
                    "description": "List of srlg that represents sharable srlg for source and remote nodes of IP interfaces this fb profile is protecting",
                    "items": {
                        "type": "string"
                    }
                },
                "srlgMode": {
                    "type": "string",
                    "description": "Represents if srlg needs to be considered in path computation by CP",
                    "enum": [
                        "maximal",
                        "strict",
                        "ignore"
                    ]
                }
            }
        },
        "FlexePackage": {
            "type": "object",
            "properties": {
                "groupId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "FlexE group number associated to the FlexE group"
                },
                "groupName": {
                    "type": "string",
                    "description": "Name for FlexE group"
                },
                "calendarSlotGranularity": {
                    "type": "string",
                    "description": "The granularity of calendar slot is 5G or 25G"
                },
                "phyType": {
                    "type": "string",
                    "description": "Type of PHY used in the FlexE group, such as 50/100/200/400GBASE-R. All PHYs in a FlexE group should be of same type"
                },
                "activeCalendar": {
                    "type": "string",
                    "description": "Calendar configuration used by the FlexE group in FlexE Mux/Demux"
                },
                "calendarProtocol": {
                    "type": "string",
                    "description": "Whether calendar negotiation protocol is enabled or not",
                    "enum": [
                        "enabled",
                        "disabled"
                    ]
                },
                "overheadStatus": {
                    "type": "array",
                    "description": "List of overhead status conditions in the FlexE group",
                    "items": {
                        "type": "string"
                    }
                },
                "misconfigurations": {
                    "type": "array",
                    "description": "List of misconfigurations in the FlexE group",
                    "items": {
                        "type": "string"
                    }
                },
                "calendarChannelDetails": {
                    "description": "This package stores the calendar and channel details for the FlexE group",
                    "$ref": "#/definitions/CalendarChannelDetails"
                },
                "totalSlots": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of slots in FlexE group"
                },
                "allocatedSlots": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of slots in use by FlexE channels associated to FlexE group"
                },
                "availableSlots": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of slots available in active calendar of FlexE group"
                },
                "bandwidth": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                }
            }
        },
        "G8032Package": {
            "type": "object",
            "properties": {
                "ringId": {
                    "type": "string",
                    "description": "The logical ring ID"
                },
                "logicalRingName": {
                    "type": "string",
                    "description": "The logical ring name"
                },
                "virtualRingName": {
                    "type": "string",
                    "description": "the virtual ring name"
                },
                "rapsVid": {
                    "type": "string",
                    "description": "the R-APS VID of the ring"
                },
                "rplOwner": {
                    "type": "boolean",
                    "description": "True if the port is configured as RPL-owner.",
                    "default": false
                },
                "operationalChannelBlock": {
                    "type": "boolean",
                    "description": "True if the port is blocked, i.e portState == Blocked",
                    "default": false
                },
                "ringType": {
                    "type": "string",
                    "description": "the type of ring",
                    "enum": [
                        "majorRing",
                        "subRing"
                    ]
                },
                "sharedPort": {
                    "type": "string",
                    "description": "sharedPort information for the sub-ring (ONLY for sub-ring endNode)"
                },
                "sharedPortRef": {
                    "type": "string",
                    "description": "the ID of the PTP on the shared port"
                },
                "vlanGroupId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "the ID used for L2Motr devices in parallel to sharedPort in SAOS devices"
                },
                "forceSwitch": {
                    "type": "boolean",
                    "description": "a flag indicating whether the switching is forced or not.",
                    "default": false
                },
                "subRingTermination": {
                    "type": "boolean",
                    "description": "flag indicating whether the subring is terminating or not",
                    "default": false
                },
                "portDirection": {
                    "type": "string",
                    "description": "the direction of the port.",
                    "enum": [
                        "east",
                        "west"
                    ]
                },
                "revertive": {
                    "type": "boolean",
                    "description": "revertive",
                    "default": false
                },
                "holdOffTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "hold off time in milliseconds"
                },
                "holdOffTimeUnit": {
                    "type": "string",
                    "description": "Unit of time",
                    "enum": [
                        "min",
                        "sec",
                        "msec"
                    ]
                },
                "waitToRestore": {
                    "type": "integer",
                    "format": "int32",
                    "description": "wait to restore time in minute. "
                },
                "waitToRestoreUnit": {
                    "type": "string",
                    "description": "Unit of time",
                    "enum": [
                        "min",
                        "sec",
                        "msec"
                    ]
                },
                "waitToBlock": {
                    "type": "integer",
                    "format": "int32",
                    "description": "wait to block time in milliseconds. "
                },
                "waitToBlockUnit": {
                    "type": "string",
                    "description": "Unit of time",
                    "enum": [
                        "min",
                        "sec",
                        "msec"
                    ]
                },
                "guardTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "guard time in millisecond."
                },
                "guardTimeUnit": {
                    "type": "string",
                    "description": "Unit of time",
                    "enum": [
                        "min",
                        "sec",
                        "msec"
                    ]
                },
                "ringMembers": {
                    "type": "string",
                    "description": "a comma separated list of virtual ring members."
                },
                "ringState": {
                    "type": "string",
                    "description": "the state of the ring",
                    "enum": [
                        "initializing",
                        "ok",
                        "adminDisabled",
                        "operationalDisabled",
                        "protecting",
                        "recovering",
                        "manualSwitch",
                        "forceSwitch",
                        "unknown"
                    ]
                },
                "ringStatus": {
                    "type": "string",
                    "description": "the status of the ring",
                    "enum": [
                        "ok",
                        "localSignalFailure",
                        "localForceSwitch",
                        "remoteOtherPortSignalFailure",
                        "remoteOtherPortForceSwitch",
                        "provisioningMismatch",
                        "notReceivingPDUS",
                        "noRPLOwnerDetected",
                        "unknown"
                    ]
                },
                "portState": {
                    "type": "string",
                    "description": "the state of the port",
                    "enum": [
                        "disabled",
                        "forwarding",
                        "blocked",
                        "localManualSwitch",
                        "localForceSwitch",
                        "unknown"
                    ]
                },
                "portStatus": {
                    "type": "string",
                    "description": "the status of the port",
                    "enum": [
                        "ok",
                        "down",
                        "CCMFailure",
                        "localForceSwitch",
                        "remoteForceSwitch",
                        "remoteSignalFailure",
                        "unknown"
                    ]
                }
            }
        },
        "GlobalConstraints": {
            "type": "object",
            "properties": {
                "site-restriction": {
                    "description": "The site restrictions for this customer",
                    "$ref": "#/definitions/SiteRestrictions"
                },
                "node-restriction": {
                    "description": "Node Restrictions for the customer",
                    "$ref": "#/definitions/NodeRestrictions"
                },
                "regeneration-node-restriction": {
                    "description": "The regeneration node restrictions for this customer",
                    "$ref": "#/definitions/RegenerationNodeRestrictions"
                },
                "supporting-service-restriction": {
                    "description": "Supporting Service Restrictions",
                    "$ref": "#/definitions/Supporting_service_restriction"
                }
            }
        },
        "GlobalConstraintsRequest": {
            "type": "object",
            "properties": {
                "customerName": {
                    "type": "string",
                    "description": "The Name of the customer"
                },
                "metricPolicy": {
                    "description": "Global Constraints Metric policy",
                    "$ref": "#/definitions/MetricPolicy"
                },
                "globalRestrictions": {
                    "description": "The global constraints with this request",
                    "$ref": "#/definitions/GlobalConstraints"
                }
            }
        },
        "GlobalConstraintsRequestBO": {
            "type": "object",
            "properties": {
                "metricPolicyBO": {
                    "$ref": "#/definitions/MetricPolicyBO"
                },
                "globalConstraintsRequestDataBOS": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/GlobalConstraintsRequestDataBO"
                    }
                }
            }
        },
        "GlobalConstraintsRequestDataBO": {
            "type": "object",
            "properties": {
                "customerName": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "restrictionScopes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "equipmentsMap": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "GlobalRestrictionNode": {
            "type": "object",
            "properties": {
                "node-id": {
                    "type": "string",
                    "description": "Node Id Type"
                },
                "restriction-type": {
                    "type": "string",
                    "description": "Restriction type",
                    "enum": [
                        "ADD_DROP",
                        "PASS_THROUGH",
                        "BOTH"
                    ]
                }
            }
        },
        "GlobalRestrictionRegenerationNode": {
            "type": "object",
            "properties": {
                "node-id": {
                    "type": "string",
                    "description": "Node Id Type"
                },
                "regeneration-restriction-type": {
                    "type": "string",
                    "description": "Regeneration Restriction type",
                    "enum": [
                        "DO_NOT_PROPOSE"
                    ]
                }
            }
        },
        "GlobalRestrictionSite": {
            "type": "object",
            "properties": {
                "site-id": {
                    "type": "string",
                    "description": "Site id"
                },
                "restriction-type": {
                    "type": "string",
                    "description": "Restriction type",
                    "enum": [
                        "ADD_DROP",
                        "PASS_THROUGH",
                        "BOTH"
                    ]
                }
            }
        },
        "HopEntry": {
            "type": "object",
            "properties": {
                "hopAddress": {
                    "type": "string",
                    "description": "The IP-data interface address for this hop"
                },
                "hopType": {
                    "type": "string",
                    "description": "The type of this hop",
                    "enum": [
                        "strict",
                        "loose"
                    ]
                }
            }
        },
        "Indexes": {
            "type": "object"
        },
        "IpInterfacePackage": {
            "type": "object",
            "properties": {
                "bfd": {
                    "description": "Holds BFD attributes for TPE endpoint",
                    "$ref": "#/definitions/Bfd"
                },
                "isis": {
                    "description": "Holds IsIs attributes",
                    "$ref": "#/definitions/IsIs"
                }
            }
        },
        "IsIs": {
            "type": "object",
            "properties": {
                "instanceTag": {
                    "type": "string",
                    "description": "Protocol instance Tag"
                },
                "levelType": {
                    "type": "string",
                    "description": "level of an ISIS instance",
                    "enum": [
                        "LEVEL_1",
                        "LEVEL_2",
                        "LEVEL_1_2"
                    ]
                },
                "levels": {
                    "type": "array",
                    "description": "Contains IsIs Level attribute details",
                    "items": {
                        "$ref": "#/definitions/IsIsLevelData"
                    }
                },
                "interfaceType": {
                    "type": "string",
                    "description": "point-to-point or point-to-multipoint network"
                },
                "lspInterval": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Interval between LSP transmissions, unit:milliseconds"
                },
                "lspRetransmitInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Interval between LSP retransmissions, unit:seconds"
                },
                "helloPadding": {
                    "type": "boolean",
                    "description": "ISIS hello padding activation",
                    "default": false
                },
                "ipv4UnicastDefaultDisable": {
                    "type": "boolean",
                    "description": "disable default config for IPv4 AF on interface",
                    "default": false
                },
                "ldpIgpSyncLevelType": {
                    "type": "string",
                    "description": "enable MPLS LDP synchronization for an ISIS level",
                    "enum": [
                        "LEVEL_1",
                        "LEVEL_2",
                        "LEVEL_1_2"
                    ]
                },
                "ldpIgpSyncHoldDown": {
                    "type": "string",
                    "description": "hold down timer for the ISIS LDP/IGP synchronization configuration, unit : seconds"
                },
                "isisEnabled": {
                    "type": "boolean",
                    "description": "enable MPLS isis routing",
                    "default": false
                },
                "srEnabled": {
                    "type": "boolean",
                    "description": "enable MPLS segment routing",
                    "default": false
                },
                "bfdEnabled": {
                    "type": "boolean",
                    "description": "Bidirectional forwarding detection for ISIS",
                    "default": false
                },
                "metricStyle": {
                    "type": "string",
                    "description": "Metric style global configuration",
                    "enum": [
                        "wide"
                    ]
                }
            }
        },
        "IsIsLevelData": {
            "type": "object",
            "properties": {
                "levelType": {
                    "type": "string",
                    "description": "Level of an IS-IS node - can be level-1, level-2 or level-1-2"
                },
                "helloInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Interval between hello messages, unit:seconds"
                },
                "helloMultiplier": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of missed hello messages prior to adjacency down grouping, unit:seconds"
                },
                "csnpInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Interval between CSNP messages, unit:seconds"
                },
                "priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "priority for DIS election"
                },
                "metric": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Metric associated with the links having range 1-63, i.e. default-10, delay, expense etc."
                },
                "wideMetric": {
                    "type": "integer",
                    "format": "int32",
                    "description": "wide-metric configuration"
                },
                "lfaCandidateEnable": {
                    "type": "boolean",
                    "description": "Enable/disable the interface from being used as LFA for level-1, level-2 or level-1-2 primary route",
                    "default": false
                },
                "tiLfaEnable": {
                    "type": "boolean",
                    "description": "Enable/DIsable TI-LFA on the interface Same for LFA",
                    "default": false
                }
            }
        },
        "ItsPackage": {
            "type": "object",
            "properties": {
                "itsMode": {
                    "type": "string",
                    "description": "Specify supported ITS mode"
                }
            }
        },
        "L2Transform": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Need a key for this list. It cannot be a choice of several objects but objects that will always be specified."
                },
                "operation": {
                    "type": "array",
                    "description": "List of operations",
                    "items": {
                        "$ref": "#/definitions/Operation"
                    }
                }
            }
        },
        "LayerProtocol": {
            "type": "object",
            "properties": {
                "termination": {
                    "description": "The specification of the layer protocol termination (including framing, modulation etc). For example the specification of the function that takes a MAC frame and extracts the content (removing the MAC address in the process).",
                    "$ref": "#/definitions/Termination"
                },
                "adaptationPools": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AdaptationPool"
                    }
                },
                "layeredAttributes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LayeredAttribute"
                    }
                },
                "accessPoint": {
                    "$ref": "#/definitions/AccessPoint"
                },
                "connectionPoint": {
                    "$ref": "#/definitions/ConnectionPoint"
                },
                "tandemConnectionMonitoring": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TandemConnectionMonitoring"
                    }
                }
            }
        },
        "LayerTermination": {
            "type": "object",
            "properties": {
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "nativeLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "dynamicLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "structureType": {
                    "type": "string",
                    "description": "Identifies the internal structure of the layer termination.",
                    "enum": [
                        "dual_port",
                        "dual_port_client_mapping",
                        "exposed_lone_cp",
                        "lone_adapter",
                        "full_layer_optional_exposed_cp",
                        "full_layer_optional_exposed_cp_and_tcp",
                        "full_layer_fixed",
                        "exposed_tcp",
                        "concatenating_adapter",
                        "concatenatable_exposed_tcp",
                        "layer_termination_structure_type_unknown",
                        "concatenatable_fixed",
                        "exposed_TCP_and_CP"
                    ]
                },
                "terminationState": {
                    "type": "string",
                    "description": "Whether and how this LayerTermination is terminated.",
                    "enum": [
                        "layer_termination_cannot_terminate",
                        "layer_termination_not_terminated",
                        "terminated_server_to_client_flow",
                        "terminated_client_to_server_flow",
                        "terminated_bidirectional",
                        "layer_termination_permanently_terminated",
                        "termination_state_unknown"
                    ]
                },
                "adminState": {
                    "type": "string",
                    "description": "The administrative state of the layer termination.",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "operationalState": {
                    "type": "string",
                    "description": "The operational (actual) state of the layer termination.",
                    "enum": [
                        "up",
                        "down",
                        "link_flapping",
                        "abnormal"
                    ]
                },
                "active": {
                    "type": "boolean",
                    "description": "Whether or not an inactive layer appears to be absent from the layer stack.",
                    "default": false
                },
                "adjacencyPackage": {
                    "description": "This package stores layer adjacency information.",
                    "$ref": "#/definitions/AdjacencyPackage"
                },
                "retainedAdjacencyPackage": {
                    "description": "This package stores layer adjacency information.",
                    "$ref": "#/definitions/AdjacencyPackage"
                },
                "manualAdjacencyPackage": {
                    "description": "This package stores layer adjacency information.",
                    "$ref": "#/definitions/AdjacencyPackage"
                },
                "powerPackage": {
                    "description": "This package stores power related information.",
                    "$ref": "#/definitions/PowerPackage"
                },
                "photonicSpectrumPackage": {
                    "description": "This package stores photonic spectrum information.",
                    "$ref": "#/definitions/PhotonicSpectrumPackage"
                },
                "cfmPackages": {
                    "type": "array",
                    "description": "Holds data related to CFM services configured on an Ethernet service",
                    "items": {
                        "$ref": "#/definitions/TpeCfmPackage"
                    }
                },
                "mplsPackage": {
                    "description": "This package stores MPLS tunnel information.",
                    "$ref": "#/definitions/MplsPackage"
                },
                "g8032Package": {
                    "description": "This package stores information about the G8032 ring",
                    "$ref": "#/definitions/G8032Package"
                },
                "flexePackage": {
                    "description": "This package stores information about the FlexE infrastructure",
                    "$ref": "#/definitions/FlexePackage"
                },
                "signalIndex": {
                    "description": "Attribute representing a signal index (e.g. channel information, wavelength, etc).",
                    "$ref": "#/definitions/SignalIndex"
                },
                "segmentId": {
                    "type": "string",
                    "description": "The Segment Id of this layer termination"
                },
                "classOfServices": {
                    "type": "array",
                    "description": "The list of class of services in this layer termination",
                    "items": {
                        "$ref": "#/definitions/ClassOfServices"
                    }
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the TPE that is native to the network element."
                },
                "oduFlexPackage": {
                    "description": "This package stores odu flex related attribute information.",
                    "$ref": "#/definitions/OduFlexPackage"
                },
                "layerProtocol": {
                    "description": "A LayerProtocol instance is used for controlling termination and monitoring functionality. Also, it is used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection.",
                    "$ref": "#/definitions/LayerProtocol"
                },
                "trafficProfiles": {
                    "type": "array",
                    "description": "Traffic profile characteristics used to data-drive provisioning workflows.",
                    "items": {
                        "$ref": "#/definitions/TrafficProfile"
                    }
                },
                "serviceLabel": {
                    "type": "string",
                    "description": "The service-identifiying label"
                },
                "boundaries": {
                    "type": "array",
                    "description": "Array of strings to track boundaries of Layer Termination",
                    "items": {
                        "type": "string"
                    }
                },
                "ttiPackage": {
                    "description": "This package stores Tti information.",
                    "$ref": "#/definitions/TtiPackage"
                },
                "controlPlanePackage": {
                    "description": "The northbound model of Control Plane Package.",
                    "$ref": "#/definitions/ControlPlanePackage"
                },
                "resiliencyTopologyPackage": {
                    "description": "This package stores resiliency topology information.",
                    "$ref": "#/definitions/ResiliencyTopologyPackage"
                },
                "adminWt": {
                    "type": "number",
                    "format": "double",
                    "description": "Administrative weight which specifies the level of importance given to the OSRP link"
                },
                "bundleIds": {
                    "type": "array",
                    "description": "List of up to 20 protection bundles to which the OSRP link belongs",
                    "items": {
                        "type": "string"
                    }
                },
                "latency": {
                    "type": "number",
                    "format": "double",
                    "description": "Indicates the delay in mic'roseconds."
                },
                "bgpPackage": {
                    "description": "This package stores BGP information.",
                    "$ref": "#/definitions/BgpPackage"
                },
                "parentPolicers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ParentPolicer"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "txInfo": {
                    "description": "TxInfo",
                    "$ref": "#/definitions/TxInfo"
                },
                "ipInterfacePackage": {
                    "description": "To report IP settings on the interface",
                    "$ref": "#/definitions/IpInterfacePackage"
                },
                "lastUpdatedAdminStateTimeStamp": {
                    "type": "string",
                    "description": "TimeStamp when the adminState was last changed"
                },
                "lastUpdatedOperationalStateTimeStamp": {
                    "type": "string",
                    "description": "TimeStamp when the operational state was last changed"
                },
                "L2Transform": {
                    "description": "This package stores Transform types like Ingress/Egress L2 Transform",
                    "$ref": "#/definitions/TransformTypes"
                }
            }
        },
        "LayeredAttribute": {
            "type": "object",
            "properties": {
                "layer": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "loopbackPackage": {
                    "description": "This package stores loopback information",
                    "$ref": "#/definitions/LoopbackPackage"
                },
                "itsPackage": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ItsPackage"
                    }
                }
            }
        },
        "LifeCycleRule": {
            "type": "object",
            "properties": {
                "autoCreatedByNetwork": {
                    "type": "boolean",
                    "description": "Indicates if the entity is auto created by the network and/or device (true) or must it explicitly be created (false).",
                    "default": false
                },
                "autoDeletedByNetwork": {
                    "type": "boolean",
                    "description": "Indicates if the entity is auto deleted by the network and/or device (true) or must it explicitly be created (false).",
                    "default": false
                }
            }
        },
        "LinkAttributes": {
            "type": "object",
            "properties": {
                "tags": {
                    "type": "array",
                    "description": "Reference to 3rd Party Network involved in this topology, can be re-used for other purposes in future.",
                    "items": {
                        "type": "string"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Short description of the topology to be created."
                },
                "userLabel": {
                    "type": "string",
                    "description": "The user label (not necessarily unique) of the topology to be created."
                },
                "note": {
                    "$ref": "#/definitions/Note"
                },
                "serialNumber": {
                    "type": "string",
                    "description": "Serial number for AOC/DAC plug"
                }
            }
        },
        "LoopbackPackage": {
            "type": "object",
            "properties": {
                "loopbackStatus": {
                    "type": "string",
                    "description": "Status of the test; taken directly from the value of the TL1 LPBKSTATUS field."
                },
                "loopbackWavelength": {
                    "type": "string",
                    "description": "Wavelength of the loopback test; taken directly from the value of the TL1 LPBKWVL field"
                }
            }
        },
        "MapperRule": {
            "type": "object",
            "properties": {
                "groupedTribSlots": {
                    "type": "array",
                    "items": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "groupedAvailableTribPorts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "usedStartingTimeSlots": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tribSlots": {
                    "type": "array",
                    "description": "Mapped tributary slots corresponding to tributary port",
                    "items": {
                        "type": "string"
                    }
                },
                "tribPort": {
                    "type": "string",
                    "description": "Tributary port"
                }
            }
        },
        "MappingInteractionRule": {
            "type": "object",
            "properties": {
                "segmentBoundaryRule": {
                    "type": "string",
                    "description": "The default is mustNotOverlap.",
                    "enum": [
                        "mustNotOverlap"
                    ]
                }
            }
        },
        "MappingTableEntry": {
            "type": "object",
            "properties": {
                "direction": {
                    "type": "string",
                    "description": "The directionality defined in terms of RX/TX.",
                    "enum": [
                        "RX",
                        "TX",
                        "RXTX"
                    ]
                },
                "label": {
                    "type": "string",
                    "description": "The user label."
                },
                "cos": {
                    "type": "string",
                    "description": "The class of service."
                },
                "ip": {
                    "type": "string",
                    "description": "The ip address."
                },
                "ranges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RangesEntry"
                    }
                }
            }
        },
        "MbbHistoryEntry": {
            "type": "object",
            "properties": {
                "startTime": {
                    "type": "string",
                    "description": "Start time of the make-before-break happened"
                },
                "endTime": {
                    "type": "string",
                    "description": "End time of the make-before-break happened"
                },
                "result": {
                    "type": "string",
                    "description": "Result of the make-before-break"
                },
                "reason": {
                    "type": "string",
                    "description": "Reason of the make-before-break"
                }
            }
        },
        "MepEntry": {
            "type": "object",
            "properties": {
                "mepId": {
                    "type": "string",
                    "description": "The ID of the MEP"
                },
                "ccmTransmitState": {
                    "type": "string",
                    "description": "The transmission state of CCM (on/off)",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "mepAdminState": {
                    "type": "string",
                    "description": "The administrative state (enabled/disabled) of the MEP",
                    "enum": [
                        "ENABLED",
                        "DISABLED"
                    ]
                },
                "mepType": {
                    "type": "string",
                    "description": "The type of the MEP, up or down",
                    "enum": [
                        "UP",
                        "DOWN"
                    ]
                },
                "mepMacAddress": {
                    "type": "string",
                    "description": "The MAC address of the MEP"
                },
                "ccmPriority": {
                    "type": "string",
                    "description": "Priority of the CC messages (0-7)"
                },
                "vlanId": {
                    "type": "string",
                    "description": "The VLAN ID of the MEP"
                },
                "lmm": {
                    "description": "Holds Y.1731 attributes for one measurement type of a MEP",
                    "$ref": "#/definitions/Y1731Attributes"
                },
                "dmm": {
                    "description": "Holds Y.1731 attributes for one measurement type of a MEP",
                    "$ref": "#/definitions/Y1731Attributes"
                },
                "slm": {
                    "description": "Holds Y.1731 attributes for one measurement type of a MEP",
                    "$ref": "#/definitions/Y1731Attributes"
                },
                "slmResponder": {
                    "description": "Holds SLM responder attributes for one measurement type of a MEP",
                    "$ref": "#/definitions/SlmResponder"
                },
                "remoteMepId": {
                    "type": "string",
                    "description": "The ID of the remote MEP"
                },
                "maName": {
                    "type": "string",
                    "description": "Holds maintenance association name"
                },
                "ccmInterval": {
                    "type": "string",
                    "description": "The interval between CCM transmissions to be used by all MEPs in the MA"
                }
            }
        },
        "MetricPolicy": {
            "type": "object",
            "properties": {
                "composite-metric-versus-selective": {
                    "type": "boolean",
                    "description": "composite-metric-versus-selective",
                    "default": false
                }
            }
        },
        "MetricPolicyBO": {
            "type": "object",
            "properties": {
                "customerName": {
                    "type": "string"
                },
                "composite_metric_versus_selective": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "MplsFb": {
            "type": "object",
            "properties": {
                "frrAutoCreated": {
                    "type": "boolean",
                    "description": "The flag indicating whether the FB tunnel is auto created by FRR",
                    "default": false
                },
                "protectedInterface": {
                    "type": "string",
                    "description": "Name of the interface being protected by the FB tunnel"
                },
                "excludeIp": {
                    "type": "string",
                    "description": "IP address excluded from the FB tunnel path"
                },
                "protectedTunnels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MplsFbProtectedTunnel"
                    }
                }
            }
        },
        "MplsFbProtectedTunnel": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the tunnel protected by this FB tunnel"
                },
                "srcIp": {
                    "type": "string",
                    "description": "Source IP address of the tunnel protected by this FB tunnel"
                },
                "destIp": {
                    "type": "string",
                    "description": "Destination IP address of the tunnel protected by this FB tunnel"
                },
                "role": {
                    "type": "string",
                    "description": "The role at this point of the MPLS tunnel protected by this FB tunnel",
                    "enum": [
                        "ingress",
                        "transit"
                    ]
                }
            }
        },
        "MplsFrr": {
            "type": "object",
            "properties": {
                "frrProtected": {
                    "type": "boolean",
                    "description": "If true, the tunnel is protected by fast re-route (FRR) on the headend TX MPLS CTP",
                    "default": false
                },
                "profileName": {
                    "type": "string",
                    "description": "The FRR profile name on the headend TX MPLS CTP"
                },
                "localProtection": {
                    "description": "Holds MPLS FRR local protection attributes for TX MPLS CTP",
                    "$ref": "#/definitions/MplsFrrLocalProtection"
                },
                "actualProtectionRoute": {
                    "type": "array",
                    "description": "Actual FRR protection route on the headend TX MPLS CTP",
                    "items": {
                        "$ref": "#/definitions/MplsFrrProtectionRouteHop"
                    }
                }
            }
        },
        "MplsFrrLocalProtection": {
            "type": "object",
            "properties": {
                "protectionAvailable": {
                    "type": "boolean",
                    "description": "True when the protection is available on this endpoint",
                    "default": false
                },
                "protectionInUse": {
                    "type": "boolean",
                    "description": "True when the protection is in use on this endpoint",
                    "default": false
                },
                "protectionFbName": {
                    "type": "string",
                    "description": "Protection FB tunnel name"
                }
            }
        },
        "MplsFrrProtectionRouteHop": {
            "type": "object",
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "IP interface address or node loopback IP address of the current hop"
                },
                "protectionType": {
                    "type": "string",
                    "description": "The FB protection type on this hop for this unidirectional tunnel",
                    "enum": [
                        "none",
                        "link_protect",
                        "node_protect"
                    ]
                },
                "protectionInUse": {
                    "type": "boolean",
                    "description": "True when the protection is in use on this endpoint",
                    "default": false
                },
                "bwProtected": {
                    "type": "boolean",
                    "description": "True when the bandwidth is protected on this endpoint",
                    "default": false
                }
            }
        },
        "MplsPackage": {
            "type": "object",
            "properties": {
                "lspName": {
                    "type": "string",
                    "description": "The name of this MPLS tunnel"
                },
                "lspId": {
                    "type": "string",
                    "description": "The numeric ID of this MPLS tunnel"
                },
                "coRouted": {
                    "type": "boolean",
                    "description": "If true, this MPLS tunnel is co-routed; otherwise it is associated",
                    "default": false
                },
                "signaled": {
                    "type": "boolean",
                    "description": "If true, this MPLS tunnel is dynamic; otherwise it is static",
                    "default": false
                },
                "subType": {
                    "type": "string",
                    "description": "TP refers to Transport Profile; TE refers to Traffic Engineering",
                    "enum": [
                        "TP",
                        "TE"
                    ]
                },
                "direction": {
                    "type": "string",
                    "description": "Tunnel direction. Use value bidirectional or unidirectional only and TPE attribute stackDirection since ingress and egress are ambiguous",
                    "enum": [
                        "bidirectional",
                        "ingress",
                        "egress",
                        "unidirectional"
                    ]
                },
                "tunnelType": {
                    "type": "string",
                    "description": "Tunnel type (static/dynamic, ingress/egress, corouted/unidrectional)",
                    "enum": [
                        "rsvp_ingress_corout",
                        "rsvp_egress_corout",
                        "rsvp_transit_corout",
                        "static_ingress_corout",
                        "static_egress_corout",
                        "static_transit_corout",
                        "static_ingress_unidir",
                        "static_egress_unidir",
                        "static_transit_unidir",
                        "rsvp_ingress_unidir",
                        "rsvp_transit_unidir",
                        "static_ingress_assoc",
                        "rsvp_ingress",
                        "rsvp_transit",
                        "rsvp_egress"
                    ]
                },
                "ctrlPlaneId": {
                    "type": "string",
                    "description": "A generated value to uniquely identify a particular tunnel instance"
                },
                "srcIp": {
                    "type": "string",
                    "description": "The IP-data interface address of the near end of this MPLS tunnel"
                },
                "srcTunnelId": {
                    "type": "string",
                    "description": "The ID of the near end of this MPLS tunnel"
                },
                "destIp": {
                    "type": "string",
                    "description": "The IP-data interface address of the far end of this MPLS tunnel"
                },
                "destTunnelId": {
                    "type": "string",
                    "description": "The ID of the far end of this MPLS tunnel"
                },
                "fwdIn": {
                    "type": "string",
                    "description": "The inward ID in the forward direction (transit)"
                },
                "fwdOut": {
                    "type": "string",
                    "description": "The outward ID in the forward direction (transit)"
                },
                "revIn": {
                    "type": "string",
                    "description": "The inward ID in the reverse direction (transit)"
                },
                "revOut": {
                    "type": "string",
                    "description": "The outward ID in the reverse direction (transit)"
                },
                "prevHopIp": {
                    "type": "string",
                    "description": "The interface address (on 6200, MAC address) of the previous hop of this MPLS tunnel"
                },
                "nextHopIp": {
                    "type": "string",
                    "description": "The interface address (on 6200, MAC address) of the next hop of this MPLS tunnel"
                },
                "prevHopIfNum": {
                    "type": "string",
                    "description": "The interface number of the previous hop of this MPLS tunnel"
                },
                "nextHopIfNum": {
                    "type": "string",
                    "description": "The interface number of the next hop of this MPLS tunnel"
                },
                "localIfNamePrevHop": {
                    "type": "string",
                    "description": "The local interface name of the previous hop of this MPLS tunnel (6200 only)"
                },
                "localIfNameNextHop": {
                    "type": "string",
                    "description": "The local interface name of the next hop of this MPLS tunnel (6200 only)"
                },
                "RxTag": {
                    "type": "string",
                    "description": "The label used for traffic ingressing to this endpoint"
                },
                "TxTag": {
                    "type": "string",
                    "description": "The label used for traffic egressing from this endpoint"
                },
                "tunnelRole": {
                    "type": "string",
                    "description": "The role at this point in the MPLS tunnel",
                    "enum": [
                        "headEnd",
                        "tailEnd",
                        "transit"
                    ]
                },
                "bw": {
                    "description": "Holds bandwidth attributes for a dynamic tunnel endpoint or an IP interface",
                    "$ref": "#/definitions/Bw"
                },
                "autoBackup": {
                    "type": "string",
                    "description": "A flag to signal if auto-backup tunnel creation is on or off",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "diversityResource": {
                    "type": "string",
                    "description": "The object upon which to base diversity for the backup tunnel",
                    "enum": [
                        "unknown",
                        "none",
                        "link",
                        "srlg",
                        "node",
                        "srlg_and_node",
                        "srlg_and_link",
                        "link_and_node",
                        "srlg_or_node",
                        "srlg_and_link_and_node"
                    ]
                },
                "diversityLevel": {
                    "type": "string",
                    "description": "The diversity level of backup tunnel creation (maximal meaning best-effort)",
                    "enum": [
                        "strict",
                        "maximal"
                    ]
                },
                "explicitRouteObject": {
                    "type": "array",
                    "description": "An ordered list of hop-by-hop IP-data interface addresses traversed by this dynamic MPLS tunnel",
                    "items": {
                        "type": "string"
                    }
                },
                "bfd": {
                    "description": "Holds BFD attributes for one LER TPE endpoint",
                    "$ref": "#/definitions/Bfd"
                },
                "aisProfileName": {
                    "type": "string",
                    "description": "The name of the Alarm Indication Signal profile for this MPLS tunnel"
                },
                "aisSessionAdminState": {
                    "type": "string",
                    "description": "The administrative state of the AIS session for this MPLS tunnel",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "aisRefreshTimer": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The interval between each AIS refresh for this MPLS tunnel"
                },
                "aisRefreshTimerUnit": {
                    "type": "string",
                    "description": "The units for aisRefreshTimer field"
                },
                "frrSignaling": {
                    "type": "string",
                    "description": "Deprecated by frr package and will be removed later. Flag for fast re-route capability",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "frrProfile": {
                    "type": "string",
                    "description": "Deprecated by frr package and will be removed later. The fast re-route profile for this MPLS tunnel",
                    "enum": [
                        "none",
                        "link_protect",
                        "node_protect"
                    ]
                },
                "explicitTunnel": {
                    "description": "Holds data for the explicit tunnel path",
                    "$ref": "#/definitions/TunnelPath"
                },
                "fixedTtl": {
                    "type": "string",
                    "description": "The time-to-live for tunnel hops (1-255)"
                },
                "setupPriority": {
                    "type": "string",
                    "description": "The priority of the dynamic tunnel setup (0-7)"
                },
                "holdPriority": {
                    "type": "string",
                    "description": "The priority of the dynamic tunnel steady-state (0-7)"
                },
                "optimization": {
                    "type": "string",
                    "description": "A flag indicating if tunnel optimization should be attempted by the control-plane",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "optimizationInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The interval between tunnel optimization attempts"
                },
                "optimizationIntervalUnit": {
                    "type": "string",
                    "description": "The unit for optimizationInterval"
                },
                "srlg": {
                    "type": "array",
                    "description": "A list of shared-risk link-group values assigned to this interface",
                    "items": {
                        "type": "string"
                    }
                },
                "colorGroup": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroup"
                },
                "includeAny": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroup"
                },
                "includeAll": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroup"
                },
                "excludeAny": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroup"
                },
                "includeAnyBackupTunnel": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroup"
                },
                "includeAllBackupTunnel": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroup"
                },
                "excludeAnyBackupTunnel": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroup"
                },
                "facilityBypass": {
                    "type": "boolean",
                    "description": "If true, this MPLS tunnel is facility-bypass (FB) tunnel",
                    "default": false
                },
                "softPreemption": {
                    "type": "string",
                    "description": "If true, soft preemption is enabled. Applicable to dynamic TE unidirectional tunnels only.",
                    "enum": [
                        "enable",
                        "disable"
                    ]
                },
                "stickyLsp": {
                    "type": "string",
                    "description": "A flag indicating a dynamic tunnel stays on the same path after change in required resources. Applicable to dynamic coRouted tunnels only.",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "mbbHistory": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MbbHistoryEntry"
                    }
                },
                "frr": {
                    "description": "MPLS FRR details attributes",
                    "$ref": "#/definitions/MplsFrr"
                },
                "fb": {
                    "description": "MPLS FB tunnel attributes",
                    "$ref": "#/definitions/MplsFb"
                },
                "fbProfile": {
                    "description": "Holds FB profile attributes that is protecting a set of IP interfaces",
                    "$ref": "#/definitions/FbProfile"
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "A list of share SRLG values used by dynamic tunnel during provisioning.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "NameToCapacityMappingRules": {
            "type": "object",
            "properties": {
                "namingUnit": {
                    "type": "string",
                    "description": "Unit of namespace."
                },
                "capacityUnit": {
                    "type": "string",
                    "description": "Unit of the capacity."
                },
                "relationType": {
                    "type": "string",
                    "description": "Relation type",
                    "enum": [
                        "ONE_TO_ONE",
                        "ONE_TO_MANY"
                    ]
                },
                "mapping": {
                    "type": "string",
                    "description": "Identifies namespace to capacity mapping.",
                    "enum": [
                        "FIXED",
                        "FLEXIBLE",
                        "FLEXIBLE_GROUPED",
                        "FIXED_GROUP_FLEXIBLE_RANGE",
                        "ALL"
                    ]
                },
                "noOfUnits": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number 1-80 in switching and broadband case"
                },
                "mapperRule": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MapperRule"
                    }
                }
            }
        },
        "NamingRules": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "used": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                },
                "potentialGrowth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Capacity"
                    }
                }
            }
        },
        "NetworkElement": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name/tid of the Network Element (e.g. OTTAWA_001)."
                },
                "siteName": {
                    "type": "string",
                    "description": "The site name of the NE. May be a CLLI or some other customer defined format."
                },
                "planningId": {
                    "type": "string",
                    "description": "The opaque id provided by a planning tool interacting with IFD."
                }
            }
        },
        "NetworkElementReference": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "The key of the network element unique identifier - name, planningId"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the network element unique identifier associated with given key"
                }
            }
        },
        "NextHopSelf": {
            "type": "object",
            "properties": {
                "configured": {
                    "type": "boolean",
                    "description": "true/false depending on if nbr is added as route reflector client for afi and safi",
                    "default": false
                },
                "excludeReflectedRoutes": {
                    "type": "boolean",
                    "description": "true/false depending on if nbr is added as route reflector client for afi and safi",
                    "default": false
                }
            }
        },
        "NodeRestrictions": {
            "type": "object",
            "properties": {
                "restriction-scopes": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "SERVICE_CREATE",
                            "SERVICE_CREATE_BULK",
                            "TEMP_SERVICE_CREATE",
                            "TEMP_SERVICE_CREATE_BULK",
                            "SERVICE_FEASIBILITY_CHECK",
                            "SERVICE_FEASIBILITY_CHECK_BULK",
                            "SERVICE_ROLL",
                            "SERVICE_RECONFIGURE",
                            "SERVICE_RESTORATION",
                            "SERVICE_REROUTE",
                            "NETWORK_RE_OPTIMIZATION",
                            "ALL"
                        ]
                    }
                },
                "node": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/GlobalRestrictionNode"
                    }
                }
            }
        },
        "Note": {
            "type": "object",
            "properties": {
                "noteMsg": {
                    "type": "string",
                    "description": "The message left on the note left by the user"
                },
                "lastUpdatedBy": {
                    "type": "string",
                    "description": "The name of the user that last edited the note"
                },
                "lastUpdatedTime": {
                    "type": "string",
                    "description": "The time the note was last updated"
                }
            }
        },
        "OduFlexPackage": {
            "type": "object",
            "properties": {
                "baseHO": {
                    "type": "string",
                    "description": "Indicates the base HO ODUk for which the bitrate is applicable.",
                    "enum": [
                        "ODU2",
                        "ODU3",
                        "ODU4"
                    ]
                },
                "bitRate": {
                    "type": "string",
                    "description": "Defines the bit rate of the ODUFlex."
                },
                "tolerance": {
                    "type": "string",
                    "description": "Defines the tolerance in ppm of the ODUFlex payload."
                },
                "flexFrameType": {
                    "type": "string",
                    "description": "Type of Framing used in the Flex.",
                    "enum": [
                        "CBR",
                        "GFP_F"
                    ]
                },
                "resizable": {
                    "type": "boolean",
                    "description": "Defines if the ODUFlex is resizable.",
                    "default": false
                },
                "serviceRate": {
                    "type": "string",
                    "description": "Display the sub-rate value of the ethernet interface in Gbps."
                }
            }
        },
        "Operation": {
            "type": "object",
            "properties": {
                "tag": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Dependent on the xform operation, the tag numbers are  stamp => '1' represents outermost tag, '2' next outermost (next inner)  pop => '1' represents pop outermost, '2' represents pop outermost, (always pop from outer)  push => '1' represents push outermost, '2' represents push outermost (always push to outer)"
                },
                "functionType": {
                    "type": "string",
                    "description": "nature of operation push/pop/stamp",
                    "enum": [
                        "PUSH",
                        "POP",
                        "STAMP"
                    ]
                },
                "vlanId": {
                    "type": "string",
                    "description": "Represents a IEEE 802.1Q VLAN-ID."
                },
                "etherType": {
                    "type": "string",
                    "description": "tpid-8100/tpid-88a8/tpid-9100",
                    "enum": [
                        "ET_8100",
                        "ET_88A8",
                        "ET_88E7",
                        "ET_9100",
                        "ET_9101"
                    ]
                }
            }
        },
        "Orf": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Outbound Route Filtering type"
                },
                "direction": {
                    "type": "string",
                    "description": "Outbound Route Filtering direction",
                    "enum": [
                        "rx",
                        "tx",
                        "both"
                    ]
                }
            }
        },
        "ParentPolicer": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the parent policer"
                },
                "cir": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Committed Information rate in kbps of this parent policer"
                },
                "cbs": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Committed burst size of this policer"
                },
                "evcList": {
                    "type": "array",
                    "description": "List of services attached to the parent policer",
                    "items": {
                        "type": "string"
                    }
                },
                "adminState": {
                    "type": "string",
                    "description": "Admin state of this parent policer",
                    "enum": [
                        "ENABLED",
                        "DISABLED"
                    ]
                }
            }
        },
        "PeerError": {
            "type": "object",
            "properties": {
                "errorCode": {
                    "type": "string",
                    "description": "Error code for last error"
                },
                "errorCodeDesc": {
                    "type": "string",
                    "description": "Description of the Error code in last error"
                },
                "errorSubCode": {
                    "type": "string",
                    "description": "Sub error code for last error"
                },
                "errorSubCodeDesc": {
                    "type": "string",
                    "description": "Description of the Error sub code in last error"
                }
            }
        },
        "PhotonicSpectrumPackage": {
            "type": "object",
            "properties": {
                "minFreqDeadBand": {
                    "type": "string",
                    "description": "Lower dead band in GHz. The dead band will be in format of 'xxxx.xxx'."
                },
                "maxFreqDeadBand": {
                    "type": "string",
                    "description": "Upper dead band in GHz. The dead band will be in format of 'xxxx.xxx'."
                },
                "targetMinFreq": {
                    "type": "string",
                    "description": "Allows the automatic adjustment of the MINFREQ when any associated NMCTP are deleted. Default is MINFREQ (no target lower frequency)."
                },
                "targetMaxFreq": {
                    "type": "string",
                    "description": "Allows the automatic adjustment of the MAXFREQ when any associated NMCTP are deleted. Default is MAXFREQ (no target upper frequency)."
                },
                "minFreqGuardBand": {
                    "type": "string",
                    "description": "Indicates the minimum required frequency spacing for the previous NMC."
                },
                "maxFreqGuardBand": {
                    "type": "string",
                    "description": "Indicates the minimum required frequency spacing for the next NMC."
                },
                "freqResolution": {
                    "type": "string",
                    "description": "Indicates the recurring frequency step that is allowed to be configured on the transponder."
                },
                "signalBandWidth10DB": {
                    "type": "string",
                    "description": "Captures Tx Signal Bandwidth in GHz measured at 10 dBm less than peak power."
                },
                "signalBandWidth3DB": {
                    "type": "string",
                    "description": "Captures Tx Signal Bandwidth in GHz measured at 3 dBm less than peak power."
                },
                "frequency": {
                    "type": "string",
                    "description": "The central signal frequency."
                },
                "minFreq": {
                    "type": "string",
                    "description": "The minimum signal frequency."
                },
                "maxFreq": {
                    "type": "string",
                    "description": "The maximum signal frequency."
                },
                "width": {
                    "type": "string",
                    "description": "The signal width."
                },
                "wavelength": {
                    "type": "string",
                    "description": "The central signal wavelength."
                },
                "wavelengthGrid ": {
                    "type": "string",
                    "description": "A hexadecimal number representing the vector of wavelengths that can be used by this SNC. Each bit set within the number indicates which wavelength is currently configured"
                }
            }
        },
        "PhyDetails": {
            "type": "object",
            "properties": {
                "phyNumber": {
                    "type": "string",
                    "description": "Phy Number of each FlexE port, e.g. PHY-1, PHY-2, etc."
                },
                "portName": {
                    "type": "string",
                    "description": "Name for FlexE port"
                },
                "slotMappings": {
                    "description": "This package stores the slot-mappings of the FlexE port. Key is the slot number within the FlexE port",
                    "$ref": "#/definitions/SlotMappings"
                }
            }
        },
        "PowerPackage": {
            "type": "object",
            "properties": {
                "txActualPower": {
                    "type": "string",
                    "description": "Current transmitter power (dBm)."
                },
                "txMaxPower": {
                    "type": "string",
                    "description": "Maximum transmitter power level (dBm)."
                },
                "txMinPower": {
                    "type": "string",
                    "description": "Minimum transmitter power level (dBm)."
                },
                "txCurrentLaunchPower": {
                    "type": "string",
                    "description": "Current launch power level (dBm)."
                },
                "txMinLaunchPower": {
                    "type": "string",
                    "description": "Minimum launch power level (dBm)."
                },
                "rxActualPower": {
                    "type": "string",
                    "description": "Current receiver power (dBm)."
                },
                "rxMaxPower": {
                    "type": "string",
                    "description": "Maximum receiver power level (dBm)."
                },
                "rxMinPower": {
                    "type": "string",
                    "description": "Minimum receiver power level (dBm)."
                },
                "rxNominalInput": {
                    "type": "string",
                    "description": "Typical per channel operational power (dBm)."
                },
                "rxOverloadThreshold": {
                    "type": "string",
                    "description": "Maximum per channel operational power (dBm)."
                },
                "rxSensitivityThreshold": {
                    "type": "string",
                    "description": "Mininum per channel operational power (dBm)."
                }
            }
        },
        "PrefixList": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Prefix list name to filter BGP advertisements."
                },
                "direction": {
                    "type": "string",
                    "description": "Prefix list direction to filter BGP advertisements.",
                    "enum": [
                        "in",
                        "out"
                    ]
                }
            }
        },
        "RangesEntry": {
            "type": "object",
            "properties": {
                "label": {
                    "type": "string",
                    "description": "The cvid range to be used."
                },
                "type": {
                    "type": "string",
                    "description": "The vlan-range-type parameter",
                    "enum": [
                        "STRICT",
                        "GROUP"
                    ]
                }
            }
        },
        "RegenIdPackage": {
            "type": "object",
            "properties": {
                "regenTid": {
                    "type": "string",
                    "description": "This field is the Regen ID Tid"
                },
                "nearTransponder": {
                    "type": "string",
                    "description": "This field is near Transponder Shelf SLot Port."
                },
                "clientTransponder": {
                    "type": "string",
                    "description": "The Client Transponder Shelf SLot Port"
                },
                "mateInfo": {
                    "type": "string",
                    "description": "This field is Mate Info String."
                }
            }
        },
        "RegenPortsRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Regen Ports input data",
                    "$ref": "#/definitions/RegenPortsRequestData"
                }
            }
        },
        "RegenPortsRequestAttributes": {
            "type": "object",
            "properties": {
                "endpoints": {
                    "type": "array",
                    "description": "The Regen Line Endpoints",
                    "items": {
                        "$ref": "#/definitions/RegenPortsRequestEndpoints"
                    }
                }
            }
        },
        "RegenPortsRequestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Request type"
                },
                "regen": {
                    "type": "boolean",
                    "description": "Regen Attribute",
                    "default": false
                },
                "attributes": {
                    "description": "Attributes of an Regen Port Request",
                    "$ref": "#/definitions/RegenPortsRequestAttributes"
                }
            }
        },
        "RegenPortsRequestEndpoints": {
            "type": "object",
            "properties": {
                "networkElement": {
                    "description": "Network Element of a Regen Ports Request",
                    "$ref": "#/definitions/RegenPortsRequestNetworkElement"
                },
                "shelf": {
                    "type": "string",
                    "description": "The shelf ot the endpoint"
                },
                "slot": {
                    "type": "string",
                    "description": "the slot of the endpoint"
                },
                "port": {
                    "type": "string",
                    "description": "The port of the endpoint"
                },
                "role": {
                    "type": "string",
                    "description": "The role of the endpoint",
                    "enum": [
                        "A",
                        "Z"
                    ]
                }
            }
        },
        "RegenPortsRequestNetworkElement": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the network element"
                }
            }
        },
        "RegenPortsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "The data associated with this request.",
                    "items": {
                        "$ref": "#/definitions/RegenPortsResponseData"
                    }
                }
            }
        },
        "RegenPortsResponseAttributes": {
            "type": "object",
            "properties": {
                "request": {
                    "type": "array",
                    "description": "The Regen Line Endpoints",
                    "items": {
                        "$ref": "#/definitions/RegenPortsResponseRequest"
                    }
                },
                "endpoints": {
                    "type": "array",
                    "description": "The Regen Line Endpoints",
                    "items": {
                        "$ref": "#/definitions/RegenPortsResponseEndpoints"
                    }
                }
            }
        },
        "RegenPortsResponseData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Response type"
                },
                "id": {
                    "type": "string",
                    "description": "Regen id"
                },
                "attributes": {
                    "description": "Attributes associated with this data.",
                    "$ref": "#/definitions/RegenPortsResponseAttributes"
                },
                "relationships": {
                    "description": "The Regen Port Relationships",
                    "$ref": "#/definitions/RegenPortsResponseRelationships"
                }
            }
        },
        "RegenPortsResponseEndpoints": {
            "type": "object",
            "properties": {
                "networkElement": {
                    "description": "Network Element of a Regen Ports Request",
                    "$ref": "#/definitions/RegenPortsRequestNetworkElement"
                },
                "shelf": {
                    "type": "string",
                    "description": "The shelf ot the endpoint"
                },
                "slot": {
                    "type": "string",
                    "description": "the slot of the endpoint"
                },
                "port": {
                    "type": "string",
                    "description": "The port of the endpoint"
                },
                "role": {
                    "type": "string",
                    "description": "The role of the endpoint",
                    "enum": [
                        "A",
                        "Z"
                    ]
                }
            }
        },
        "RegenPortsResponseRelationshipAttributes": {
            "type": "object"
        },
        "RegenPortsResponseRelationshipFRES": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "The Regen Port FRE relationship data",
                    "items": {
                        "$ref": "#/definitions/RegenPortsResponseRelationshipFRESData"
                    }
                }
            }
        },
        "RegenPortsResponseRelationshipFRESData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The id of the related FRE"
                },
                "attributes": {
                    "description": "The attributes of the related FRE",
                    "$ref": "#/definitions/RegenPortsResponseRelationshipAttributes"
                }
            }
        },
        "RegenPortsResponseRelationshipTPES": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "The Regen Port TPEs relationship data",
                    "items": {
                        "$ref": "#/definitions/RegenPortsResponseRelationshipTPESData"
                    }
                }
            }
        },
        "RegenPortsResponseRelationshipTPESData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The id of the related TPE"
                },
                "attributes": {
                    "description": "The attributes of the related TPE",
                    "$ref": "#/definitions/RegenPortsResponseRelationshipAttributes"
                }
            }
        },
        "RegenPortsResponseRelationships": {
            "type": "object",
            "properties": {
                "fres": {
                    "description": "The FREs related to the Regen Port",
                    "$ref": "#/definitions/RegenPortsResponseRelationshipFRES"
                },
                "tpes": {
                    "description": "The TPEs related to the Regen Port",
                    "$ref": "#/definitions/RegenPortsResponseRelationshipTPES"
                }
            }
        },
        "RegenPortsResponseRequest": {
            "type": "object",
            "properties": {
                "networkElement": {
                    "description": "Network Element of a Regen Ports Request",
                    "$ref": "#/definitions/RegenPortsRequestNetworkElement"
                },
                "location": {
                    "$ref": "#/definitions/RegenPortsResponseRequestLocation"
                }
            }
        },
        "RegenPortsResponseRequestLocation": {
            "type": "object",
            "properties": {
                "shelf": {
                    "type": "string",
                    "description": "The shelf ot the endpoint"
                },
                "slot": {
                    "type": "string",
                    "description": "the slot of the endpoint"
                },
                "port": {
                    "type": "string",
                    "description": "The port of the endpoint"
                }
            }
        },
        "RegenerationNodeRestrictions": {
            "type": "object",
            "properties": {
                "restriction-scopes": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "SERVICE_CREATE",
                            "SERVICE_CREATE_BULK",
                            "TEMP_SERVICE_CREATE",
                            "TEMP_SERVICE_CREATE_BULK",
                            "SERVICE_FEASIBILITY_CHECK",
                            "SERVICE_FEASIBILITY_CHECK_BULK",
                            "SERVICE_ROLL",
                            "SERVICE_RECONFIGURE",
                            "SERVICE_RESTORATION",
                            "SERVICE_REROUTE",
                            "NETWORK_RE_OPTIMIZATION",
                            "ALL"
                        ]
                    }
                },
                "forbidden-node": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/GlobalRestrictionRegenerationNode"
                    }
                }
            }
        },
        "ResiliencyTopologyPackage": {
            "type": "object",
            "properties": {
                "switchTpeId": {
                    "type": "string",
                    "description": "Switch port client TPE"
                },
                "resilientFreId": {
                    "type": "string",
                    "description": "Resilient nodal fre id"
                }
            }
        },
        "RouteConstraints": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "The route type i.e. photonic. In the future, other types may be supported.",
                    "enum": [
                        "photonic"
                    ]
                },
                "numberOfRoutes": {
                    "type": "string",
                    "description": "Number of routes defined by the configuration. For example, a PRIME/MEMBER configuration.  Could be a number, or could be a number evident from the model i.e. inverseMux. Generally, should only be specified if the configuration implies more than 1 route."
                },
                "sizeOfEachRoute": {
                    "type": "string",
                    "description": "For each route, what is the required size of each route. For example, '200G' in the case of 400G WLAi OTR 2xOTSi."
                },
                "maxInCpGroup": {
                    "type": "string",
                    "description": "Maximum number of routes that can be present in a control plane group. Could be a number, or could be a number evident n the model i.e. inverseMux."
                },
                "routeCharacteristic": {
                    "type": "string",
                    "description": "If multiple routes need to be defined, what's the relationship between the routes.",
                    "enum": [
                        "coRouted",
                        "maximumDiversity"
                    ]
                },
                "signalPattern": {
                    "type": "string",
                    "description": "If photonic route type, specifies the frequency or wavelength pattern to choose for the routes.",
                    "enum": [
                        "adjacent"
                    ]
                }
            }
        },
        "SamData": {
            "type": "object",
            "properties": {
                "otsSubtype": {
                    "type": "string",
                    "description": "The OTS subtype of a particular piece of equipment.",
                    "enum": [
                        "ROADM",
                        "AMP"
                    ]
                },
                "roadmLineTx": {
                    "type": "string",
                    "description": "The ROADM line label associated with the tx port of this SAM. Must not be included for DGEs or ILAs."
                },
                "roadmLineRx": {
                    "type": "string",
                    "description": "The ROADM line label associated with the rx port of this SAM. Must not be included for DGEs or ILAs."
                }
            }
        },
        "SignalIndex": {
            "type": "object",
            "properties": {
                "wavelength": {
                    "type": "string",
                    "description": "The signal wavelength (nm)."
                },
                "wavelengthMin": {
                    "type": "string",
                    "description": "The minimum signal wavelength."
                },
                "wavelengthMax": {
                    "type": "string",
                    "description": "The maximum signal wavelength."
                },
                "index": {
                    "type": "string",
                    "description": "The signal index. Indicates a time slot."
                },
                "odu2_index": {
                    "type": "string",
                    "description": "The odu2 index. Indicates a time slot or tributary port number."
                },
                "odu3_index": {
                    "type": "string",
                    "description": "The odu3 index. Indicates a time slot or tributary port number."
                },
                "odu4_index": {
                    "type": "string",
                    "description": "The odu4 index. Indicates a time slot or tributary port number."
                },
                "oduCn_index": {
                    "type": "string",
                    "description": "The oduCn index. Indicates a time slot or tributary port number."
                },
                "eth_index": {
                    "type": "string",
                    "description": "The eth index."
                },
                "indexes": {
                    "description": "Map of index attributes to represent more than one indexes per LT. Plan is to remove above odu2_index, odu4_index & oduCn_index signal attributes in future and use this one",
                    "$ref": "#/definitions/Indexes"
                },
                "channels": {
                    "type": "array",
                    "description": "Indicates the list of discrete channels utilized e.g. tributary slots on broadband cards. Plans are to utilize this generically for any list of discrete list of signals.",
                    "items": {
                        "type": "string"
                    }
                },
                "ots_index": {
                    "type": "string",
                    "description": "The ots index. Indicates a time slot."
                },
                "phy_index": {
                    "type": "string",
                    "description": "The physical index. Indicates a time slot."
                },
                "mappingTable": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MappingTableEntry"
                    }
                },
                "frequency": {
                    "type": "string",
                    "description": "The central signal frequency."
                },
                "minFreq": {
                    "type": "string",
                    "description": "The minimum signal frequency."
                },
                "maxFreq": {
                    "type": "string",
                    "description": "The maximum signal frequency."
                },
                "width": {
                    "type": "string",
                    "description": "The signal width."
                },
                "mgmtMcId": {
                    "type": "string",
                    "description": "The management identifier of the media channel"
                },
                "isCatchAll": {
                    "type": "string",
                    "description": "isCatch all enabled on this port"
                }
            }
        },
        "SiteRestrictions": {
            "type": "object",
            "properties": {
                "restriction-scopes": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "SERVICE_CREATE",
                            "SERVICE_CREATE_BULK",
                            "TEMP_SERVICE_CREATE",
                            "TEMP_SERVICE_CREATE_BULK",
                            "SERVICE_FEASIBILITY_CHECK",
                            "SERVICE_FEASIBILITY_CHECK_BULK",
                            "SERVICE_ROLL",
                            "SERVICE_RECONFIGURE",
                            "SERVICE_RESTORATION",
                            "SERVICE_REROUTE",
                            "NETWORK_RE_OPTIMIZATION",
                            "ALL"
                        ]
                    }
                },
                "site": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/GlobalRestrictionSite"
                    }
                }
            }
        },
        "SlmResponder": {
            "type": "object",
            "properties": {
                "testId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The ID of the test"
                },
                "remoteMepId": {
                    "type": "string",
                    "description": "The ID of the remote MEP"
                }
            }
        },
        "SlotMappings": {
            "type": "object"
        },
        "Supporting_service_restriction": {
            "type": "object",
            "properties": {
                "restriction-scopes": {
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "SERVICE_CREATE",
                            "SERVICE_CREATE_BULK",
                            "TEMP_SERVICE_CREATE",
                            "TEMP_SERVICE_CREATE_BULK",
                            "SERVICE_FEASIBILITY_CHECK",
                            "SERVICE_FEASIBILITY_CHECK_BULK",
                            "SERVICE_ROLL",
                            "SERVICE_RECONFIGURE",
                            "SERVICE_RESTORATION",
                            "SERVICE_REROUTE",
                            "NETWORK_RE_OPTIMIZATION",
                            "ALL"
                        ]
                    }
                },
                "supporting-services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "TandemConnectionMonitoring": {
            "type": "object",
            "properties": {
                "nativeName": {
                    "type": "string",
                    "description": "The name of the TCM TPE that is native to the network element."
                },
                "userLabel": {
                    "type": "string",
                    "description": "The label given to the TCM TPE by an user"
                },
                "owner": {
                    "type": "string",
                    "description": "Identifies who created the TCM facility"
                },
                "suppTpeNativeName": {
                    "type": "string",
                    "description": "The supporting Termination Point"
                },
                "mode": {
                    "type": "string",
                    "description": "Identifies the mode of the TCM"
                },
                "state": {
                    "type": "string",
                    "description": "Primary State of TCM CTP"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "Termination": {
            "type": "object",
            "properties": {
                "connectionRulesInOwnLayer": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConnectionRule"
                    }
                }
            }
        },
        "TpeCfmPackage": {
            "type": "object",
            "properties": {
                "cfmServiceName": {
                    "type": "string",
                    "description": "The name of the CFM service"
                },
                "mep": {
                    "type": "array",
                    "description": "Each entry holds information about one Maintenance Endpoint configured on this TPE",
                    "items": {
                        "$ref": "#/definitions/MepEntry"
                    }
                }
            }
        },
        "TrafficProfile": {
            "type": "object",
            "properties": {
                "inputParams": {
                    "type": "array",
                    "description": "List of input parameters to be matched to derive the correct trafficProfile for the use-case.",
                    "items": {
                        "$ref": "#/definitions/TrafficProfileParam"
                    }
                },
                "trafficParams": {
                    "type": "array",
                    "description": "List of traffic parameters that must be used as input in the use-case.",
                    "items": {
                        "$ref": "#/definitions/TrafficProfileParam"
                    }
                },
                "routeConstraints": {
                    "description": "Defines the traffic profile route characteristics used to data-drive provisioning workflows.",
                    "$ref": "#/definitions/RouteConstraints"
                },
                "outputs": {
                    "type": "array",
                    "description": "List of outputs that are expected in the use-case.",
                    "items": {
                        "$ref": "#/definitions/TrafficProfileParam"
                    }
                }
            }
        },
        "TrafficProfileParam": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of attribute."
                },
                "value": {
                    "type": "string",
                    "description": "Value of attribute."
                },
                "selectFrom": {
                    "type": "array",
                    "description": "Alternate form of value attribute that permits a comma separated list of the choices available for selection.",
                    "items": {
                        "type": "string"
                    }
                },
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "location": {
                    "type": "string",
                    "description": "If an input, where to find the attribute. If an output, where to set the attribute.",
                    "enum": [
                        "self",
                        "intent",
                        "farEnd",
                        "immediateClientTpe"
                    ]
                }
            }
        },
        "TransformTypes": {
            "type": "object",
            "properties": {
                "ingress": {
                    "description": "This package stores Ingress L2 Transform related info.",
                    "$ref": "#/definitions/L2Transform"
                },
                "egress": {
                    "description": "This package stores Ingress L2 Transform related info.",
                    "$ref": "#/definitions/L2Transform"
                }
            }
        },
        "TtiAttribute": {
            "type": "object",
            "properties": {
                "sapi": {
                    "type": "string",
                    "description": "String to hold 'sapi' attribute"
                },
                "dapi": {
                    "type": "string",
                    "description": "String to hold 'dapi' attribute"
                },
                "operator": {
                    "type": "string",
                    "description": "String to hold 'operator' attribute"
                }
            }
        },
        "TtiPackage": {
            "type": "object",
            "properties": {
                "ttiTx": {
                    "description": "This package stores tti Attribute information.",
                    "$ref": "#/definitions/TtiAttribute"
                },
                "ttiRx": {
                    "description": "This package stores tti Attribute information.",
                    "$ref": "#/definitions/TtiAttribute"
                },
                "ttiExpectedRx": {
                    "description": "This package stores tti Attribute information.",
                    "$ref": "#/definitions/TtiAttribute"
                },
                "traceFailedMode": {
                    "type": "string",
                    "enum": [
                        "NULL",
                        "ALARM",
                        "ALARM_FAIL_LINE"
                    ]
                }
            }
        },
        "TunnelPath": {
            "type": "object",
            "properties": {
                "pathName": {
                    "type": "string",
                    "description": "The name of this explicit tunnel path"
                },
                "hops": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HopEntry"
                    }
                }
            }
        },
        "TxInfo": {
            "type": "object",
            "properties": {
                "dropPort": {
                    "type": "string",
                    "description": "dropPort Info"
                },
                "transMode": {
                    "type": "string",
                    "description": "transMode Info"
                },
                "frequency": {
                    "type": "string",
                    "description": "frequency Info"
                },
                "minDispersion": {
                    "type": "string",
                    "description": "minDispersion Info"
                },
                "maxDispersion": {
                    "type": "string",
                    "description": "maxDispersion Info"
                },
                "lowFrequencyGuardband": {
                    "type": "string",
                    "description": "lowFrequencyGuardband Info"
                },
                "highFrequencyGuardband": {
                    "type": "string",
                    "description": "highFrequencyGuardband Info"
                },
                "expectedRestorationTime": {
                    "type": "string",
                    "description": "expectedRestorationTime Info"
                },
                "linkOptimizationMode": {
                    "type": "string",
                    "description": "linkOptimizationMode Info"
                },
                "egressRegenPort": {
                    "type": "string",
                    "description": "egressRegenPort Info"
                }
            }
        },
        "UpdatedAttribute": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the attribute"
                },
                "value": {
                    "type": "string",
                    "description": "The value of the attribute"
                }
            }
        },
        "UpdatedExpectation": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Entity Id"
                },
                "expectationId": {
                    "type": "string",
                    "description": "Expectation Id"
                },
                "updatedAttributes": {
                    "type": "array",
                    "description": "List of updated attributes.",
                    "items": {
                        "$ref": "#/definitions/UpdatedAttribute"
                    }
                },
                "type": {
                    "type": "string",
                    "description": "Entity type - EQUIPMENT, TPE, FRE, EQUIPMENTGROUP, NETWORKCONSTRUCT"
                }
            }
        },
        "UpdatedExpectationsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "An array of updated expectations",
                    "items": {
                        "$ref": "#/definitions/UpdatedExpectation"
                    }
                }
            }
        },
        "Y1731Attributes": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "True when the particular measurement is enabled",
                    "default": false
                },
                "mode": {
                    "type": "string",
                    "description": "The Y1731 session is to be provisioned in MEF35.1 Mode.",
                    "enum": [
                        "LEGACY",
                        "MEF_35_1"
                    ]
                },
                "interval": {
                    "type": "string",
                    "description": "The interval between transmitting each message (e.g.: 1)"
                },
                "intervalUnit": {
                    "type": "string",
                    "description": "The unit of interval between transmitting each message (e.g.: seconds)"
                },
                "priority": {
                    "type": "string",
                    "description": "The priority of the messages being transmitted (0-7)"
                },
                "frameSize": {
                    "type": "string",
                    "description": "The frame size of the messages being transmitted (numeric), if applicable to this measurement"
                },
                "repeatDelay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The repeat delay of the message being transmitted"
                },
                "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The count of the message being transmitted"
                },
                "iterate": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The iteration number of the message being transmitted"
                },
                "remoteMepId": {
                    "type": "string",
                    "description": "The ID of the remote MEP"
                },
                "remoteMepMacAddress": {
                    "type": "string",
                    "description": "The MAC address of the remote MEP"
                },
                "thresholdProfile": {
                    "type": "string",
                    "description": "The name of the thresh-hold profile to be used"
                },
                "accelerate": {
                    "type": "boolean",
                    "description": "To create accelerated sessions",
                    "default": false
                },
                "storedIntervalCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Determines session history size (0-96)"
                },
                "testId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The ID of the test"
                },
                "sessionId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The ID of the test session"
                },
                "cosMode": {
                    "type": "boolean",
                    "description": "To enable cos-mode on session",
                    "default": false
                },
                "delayBins": {
                    "type": "string",
                    "description": "The name of the delay bin profile"
                },
                "delayRangeBins": {
                    "type": "string",
                    "description": "The name of the delay range bin profile"
                },
                "ifdvBins": {
                    "type": "string",
                    "description": "The name of the jitter bin profile"
                },
                "alignMeasurementInterval": {
                    "type": "boolean",
                    "description": "Allows measurement intervals to be aligned with the hour on a time-of-day clock",
                    "default": false
                },
                "forwardIfdvBins": {
                    "type": "string",
                    "description": "The name of the forward jitter bin profile"
                },
                "backwardIfdvBins": {
                    "type": "string",
                    "description": "The name of the backward jitter bin profile"
                },
                "measurementInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Discrete interval of time over which a set of PM statistics are calculated and stored"
                },
                "alignMeasurementOffset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Allows measurement intervals to be offset a number of minutes from the hour when Align Measurement Intervals is in effect (0-60)"
                },
                "availConsecutiveHighFlr": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(1-1000)"
                },
                "availConsecutiveIntervals": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(1-1000)"
                },
                "availFlrThreshold": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(0-100000 millipercent)"
                },
                "availConsecutivePduCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(10-1000000)"
                },
                "availMeasurementInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(0-43200 minutes)"
                },
                "messagePeriod": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The interval between message transmission (e.g.: 1)"
                },
                "messagePeriodUnit": {
                    "type": "string",
                    "description": "The unit of interval between transmitting each message (e.g.: seconds)"
                },
                "repetitionTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The period of time between the start of subsequent measurement intervals."
                }
            }
        },
        "eDtlRegenIdPackage": {
            "type": "object",
            "properties": {
                "regenPhotonicAddDropTid": {
                    "type": "string",
                    "description": "Regen Photonic ID TID"
                },
                "nearPhotonicTxAddDrop": {
                    "type": "string",
                    "description": "near Photonic Tx Add Drop Shelf SLot Port"
                }
            }
        },
        "CctDataRO": {
            "type": "object"
        },
        "CctPackageRO": {
            "type": "object",
            "properties": {
                "cctState": {
                    "type": "string",
                    "description": "The cctData state",
                    "enum": [
                        "IN_PROGRESS",
                        "FAILED",
                        "DELETED",
                        "COMPLETE"
                    ]
                },
                "failReason": {
                    "type": "string",
                    "description": "The reason for the failure cctState"
                },
                "cctData": {
                    "description": "The cct data",
                    "$ref": "#/definitions/CctDataRO"
                }
            }
        },
        "EquipmentStaticSpecAttributesRO": {
            "type": "object",
            "properties": {
                "resourceState": {
                    "type": "string",
                    "description": "Nsi Resource State.",
                    "enum": [
                        "root",
                        "planned",
                        "discovered",
                        "plannedAndDiscovered",
                        "unknown"
                    ]
                },
                "policies": {
                    "description": "Policies for attributes.",
                    "$ref": "#/definitions/AttributePoliciesRO"
                },
                "cctPackage": {
                    "description": "The cct package with status and data",
                    "$ref": "#/definitions/CctPackageRO"
                },
                "reSnrPackage": {
                    "description": "The reSnr package with data",
                    "$ref": "#/definitions/ReSnrPackageRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "EquipmentStaticSpecDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the equipment Static Spec resource"
                },
                "type": {
                    "type": "string",
                    "description": "The equipment Static Spec resource type",
                    "enum": [
                        "equipmentStaticSpec"
                    ]
                },
                "attributes": {
                    "description": "The equipment static spec attributes",
                    "$ref": "#/definitions/EquipmentStaticSpecAttributesRO"
                },
                "relationships": {
                    "description": "The equipment static spec relationships",
                    "$ref": "#/definitions/EquipmentStaticSpecRelationshipsRO"
                }
            }
        },
        "EquipmentStaticSpecListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "description": "A list of equipment",
                    "items": {
                        "$ref": "#/definitions/EquipmentStaticSpecDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to equipmentStaticSpec, such as EquipmentStaticSpecExpectationData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "EquipmentStaticSpecRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "data": {
                    "description": "The equipment Static Spec data",
                    "$ref": "#/definitions/EquipmentStaticSpecDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to equipment spec, such as EquipmentStaticSpecExpectationData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "EquipmentStaticSpecRelationshipsRO": {
            "type": "object",
            "properties": {
                "equipmentStaticSpecPlanned": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentStaticSpecExpectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "equipmentStaticSpecDiscovered": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipment": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "ReSnrDataRO": {
            "type": "object"
        },
        "ReSnrPackageRO": {
            "type": "object",
            "properties": {
                "reSnrData": {
                    "description": "The reSnr data",
                    "$ref": "#/definitions/ReSnrDataRO"
                }
            }
        },
        "site_state": {
            "type": "string",
            "description": "Allowed: \"ACTIVE\", or \"STANDBY\". Case insensitive.",
            "enum": [
                "ACTIVE",
                "STANDBY"
            ]
        },
        "site_type": {
            "type": "string",
            "description": "Allowed: \"LOCAL\", \"REMOTE\", or \"PREVIOUSLY_PAIRED\". Case insensitive.",
            "enum": [
                "LOCAL",
                "REMOTE",
                "PREVIOUSLY_PAIRED"
            ]
        },
        "task_type": {
            "type": "string",
            "description": "Allowed: \"RECOVERY\", or \"ACTIVATION\". Case insensitive.",
            "enum": [
                "RECOVERY",
                "ACTIVATION"
            ]
        },
        "task_status": {
            "type": "string",
            "description": "Allowed: \"IN_PROGRESS\", \"COMPLETED\", or \"FAILED\". Case insensitive.",
            "enum": [
                "IN_PROGRESS",
                "COMPLETED",
                "FAILED"
            ]
        },
        "site_id": {
            "type": "string",
            "description": "Each site should have unique string. Supports length>=3 strings of alphanumeric characters plus '_' and '-'.",
            "pattern": "[a-zA-Z0-9_-]{3,}$"
        },
        "connection_status": {
            "type": "string",
            "description": "Allowed: \"DISCONNECTED\", or \"CONNECTED\". Case insensitive.",
            "enum": [
                "DISCONNECTED",
                "CONNECTED"
            ]
        },
        "site_address": {
            "type": "string",
            "description": "Network address at which remote site can be reached."
        },
        "site_is_bootstrapped": {
            "type": "boolean",
            "description": "Whether or not this site has had its final installation/config step completed."
        },
        "cluster_name": {
            "description": "The name of a georedundant aware application, such as `galera` or `datomic`",
            "type": "string",
            "pattern": "[a-zA-Z0-9_-]{3,}"
        },
        "state_update": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
        },
        "remote_site": {
            "type": "object",
            "required": [
                "site_id",
                "site_state",
                "site_address"
            ],
            "properties": {
                "site_id": {
                    "$ref": "#/definitions/site_id"
                },
                "site_state": {
                    "$ref": "#/definitions/site_state"
                },
                "site_address": {
                    "$ref": "#/definitions/site_address"
                }
            }
        },
        "resyncRequest": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/resyncRequestData"
                    }
                }
            },
            "example": {
                "data": {
                    "id": "SiteA",
                    "type": "resync",
                    "attributes": {
                        "sync-timestamp": "2018-05-10T15:00:00.00Z"
                    }
                }
            }
        },
        "resyncRequestData": {
            "type": "object",
            "required": [
                "id",
                "type",
                "attributes"
            ],
            "properties": {
                "id": {
                    "description": "Site ID to sync data from",
                    "type": "string"
                },
                "type": {
                    "description": "Type of resync request",
                    "type": "string",
                    "enum": [
                        "resync"
                    ]
                },
                "attributes": {
                    "type": "object",
                    "required": [
                        "sync-timestamp"
                    ],
                    "properties": {
                        "sync-timestamp": {
                            "description": "The timestamp declaring the starting point of data to sync from the specified site, in format 2018-05-10T15:00:00.00Z",
                            "type": "string"
                        }
                    }
                }
            }
        },
        "requestError": {
            "description": "Errors that occurred",
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "status": {
                                "description": "The HTTP status code",
                                "type": "string"
                            },
                            "detail": {
                                "description": "The detailed description of the error",
                                "type": "string"
                            },
                            "title": {
                                "description": "The error title",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "site": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/siteData"
                }
            },
            "example": {
                "data": {
                    "id": "SiteA",
                    "type": "site",
                    "attributes": {
                        "site_type": "PREVIOUSLY_PAIRED",
                        "site_id": "SiteA",
                        "site_is_bootstrapped": true,
                        "site_index": 1,
                        "site_address": "10.186.0.250",
                        "connection_status": "DISCONNECTED",
                        "last_connected_time": "2019-09-16T15:22:31:532Z"
                    }
                }
            }
        },
        "sites": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/siteData"
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "id": "SiteA",
                        "type": "site",
                        "attributes": {
                            "siteType": "PREVIOUSLY_PAIRED",
                            "siteId": "SiteA",
                            "siteIndex": 1,
                            "siteAddress": "10.186.0.250",
                            "connectionStatus": "DISCONNECTED",
                            "siteRecovery": {
                                "taskType": "recovery",
                                "status": "IN PROGRESS",
                                "startTime": "2019-12-19T18:12:01Z",
                                "duration": "28s",
                                "progress": "Step 2 of 17",
                                "currentStepNum": 2,
                                "currentStep": "Validate BPI installations",
                                "previousStep": "Check local application service states",
                                "error": null
                            },
                            "lastConnectedTime": "2019-09-16T15:22:31:532Z",
                            "lastDisconnectedTime": "2019-09-11T12:08:44:384Z",
                            "lastResyncTime": "2019-09-16T16:14:02:959Z",
                            "process-state": [
                                {
                                    "Process": "Inventory Replication",
                                    "State": "UNAVAILABLE"
                                },
                                {
                                    "Process": "Inventory Processing",
                                    "State": "UNAVAILABLE"
                                },
                                {
                                    "Process": "Alarm Replication",
                                    "State": "UNAVAILABLE"
                                },
                                {
                                    "Process": "Alarm Processing",
                                    "State": "UNAVAILABLE"
                                },
                                {
                                    "Process": "PM Replication",
                                    "State": "UNAVAILABLE"
                                },
                                {
                                    "Process": "PM Processing",
                                    "State": "UNAVAILABLE"
                                }
                            ]
                        }
                    },
                    {
                        "id": "SiteB",
                        "type": "site",
                        "attributes": {
                            "siteState": "ACTIVE",
                            "siteType": "LOCAL",
                            "siteId": "SiteB",
                            "siteIndex": 2,
                            "siteAddress": "10.186.1.174",
                            "process-state": [
                                {
                                    "Process": "Inventory Replication",
                                    "State": "NORMAL"
                                },
                                {
                                    "Process": "Inventory Processing",
                                    "State": "UNAVAILABLE"
                                },
                                {
                                    "Process": "Alarm Replication",
                                    "State": "NORMAL"
                                },
                                {
                                    "Process": "Alarm Processing",
                                    "State": "BUSY"
                                },
                                {
                                    "Process": "PM Replication",
                                    "State": "NORMAL"
                                },
                                {
                                    "Process": "PM Processing",
                                    "State": "NORMAL"
                                }
                            ]
                        }
                    }
                ]
            }
        },
        "siteData": {
            "type": "object",
            "description": "A site",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "the unique site ID"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "site"
                    ],
                    "default": "site"
                },
                "attributes": {
                    "$ref": "#/definitions/siteAttributes"
                }
            }
        },
        "siteAttributes": {
            "type": "object",
            "description": "attributes of a site",
            "properties": {
                "siteState": {
                    "$ref": "#/definitions/site_state"
                },
                "siteType": {
                    "$ref": "#/definitions/site_type"
                },
                "siteId": {
                    "$ref": "#/definitions/site_id"
                },
                "siteIndex": {
                    "description": "The index of the site",
                    "type": "integer"
                },
                "siteAddress": {
                    "$ref": "#/definitions/site_address"
                },
                "connectionStatus": {
                    "$ref": "#/definitions/connection_status"
                },
                "siteRecovery": {
                    "$ref": "#/definitions/siteTaskAttributes"
                },
                "siteActivation": {
                    "$ref": "#/definitions/siteTaskAttributes"
                },
                "lastConnectedTime": {
                    "description": "The last time the site was connected, in format 2018-05-10T15:00:00.000Z",
                    "type": "string",
                    "format": "date-time"
                },
                "lastDisconnectedTime": {
                    "description": "The last time the site was disconnected, in format 2018-05-10T15:00:00.000Z",
                    "type": "string",
                    "format": "date-time"
                },
                "lastResyncTime": {
                    "description": "The last time the site was resynchronized, in format 2018-05-10T15:00:00.000Z",
                    "type": "string",
                    "format": "date-time"
                },
                "processState": {
                    "$ref": "#/definitions/processStateList"
                }
            }
        },
        "siteTask": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/siteTaskData"
                }
            },
            "example": {
                "data": {
                    "id": "SiteB",
                    "type": "recovery",
                    "attributes": {
                        "taskType": "recovery",
                        "status": "IN PROGRESS",
                        "startTime": "2019-12-19T18:12:01Z",
                        "duration": "28s",
                        "progress": "Step 2 of 17",
                        "currentStepNum": 2,
                        "currentStep": "Validate BPI installations",
                        "previousStep": "Check local application service states",
                        "error": null
                    }
                }
            }
        },
        "siteTaskData": {
            "type": "object",
            "description": "Site task data",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "the unique site ID"
                },
                "type": {
                    "$ref": "#/definitions/task_type"
                },
                "attributes": {
                    "$ref": "#/definitions/siteTaskAttributes"
                }
            }
        },
        "siteActivation": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/siteTaskData"
                }
            },
            "example": {
                "data": {
                    "id": "SiteA",
                    "type": "activation",
                    "attributes": {
                        "taskType": "activation",
                        "status": "IN PROGRESS",
                        "startTime": "2019-12-19T18:12:01Z",
                        "duration": "2s",
                        "progress": "Step 2 of 6",
                        "currentStepNum": 2,
                        "currentStep": "Remote site IPSec tunnel cleanup and peer site removal",
                        "previousStep": "Check local site ILAN",
                        "error": null
                    }
                }
            }
        },
        "siteTaskAttributes": {
            "type": "object",
            "description": "attributes of a site operational task (activation, recovery)",
            "properties": {
                "taskType": {
                    "description": "The type of the operational task",
                    "$ref": "#/definitions/task_type"
                },
                "status": {
                    "$ref": "#/definitions/task_status"
                },
                "startTime": {
                    "description": "The time at which the task was started",
                    "type": "string"
                },
                "duration": {
                    "description": "The elapsed time of the task",
                    "type": "string"
                },
                "progress": {
                    "description": "The progress of the task, e.g. step 3 of 8",
                    "type": "string"
                },
                "currentStepNum": {
                    "description": "The number of the current task step",
                    "type": "string"
                },
                "currentStep": {
                    "description": "The name of the current step",
                    "type": "string"
                },
                "previousStep": {
                    "description": "The name of the previous step",
                    "type": "string"
                },
                "error": {
                    "description": "The error in event of failure",
                    "type": "string"
                }
            }
        },
        "processStateList": {
            "type": "array",
            "description": "The processing states of Inventory, Alarm and PM",
            "items": {
                "$ref": "#/definitions/processState"
            }
        },
        "processState": {
            "type": "object",
            "description": "The processing state of a process",
            "properties": {
                "process": {
                    "type": "string",
                    "description": "process name"
                },
                "state": {
                    "type": "string",
                    "description": "process state. BUSY, NORMAL or UNAVAILABLE"
                }
            }
        },
        "Response": {
            "type": "object",
            "properties": {
                "metadata": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    }
                },
                "entity": {
                    "type": "object"
                },
                "status": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "CreateRequest": {
            "type": "array",
            "items": {
                "type": "object",
                "required": [
                    "application",
                    "name"
                ],
                "properties": {
                    "application": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The application or service to whom this configuration value belongs."
                    },
                    "instance": {
                        "type": "string",
                        "maxLength": 2,
                        "description": "The instance identifier of the application. If not provided, the instance will default to the instance agnostic identifier (\"-\")."
                    },
                    "partition": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The partition to under which the configuration is found."
                    },
                    "group": {
                        "type": "array",
                        "description": "Groupings of configurations within a configuration partition. Used to further sort and identify configurations.",
                        "items": {
                            "type": "string",
                            "maxLength": 64
                        }
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The name of the configuration."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "A descriptive title of the configuration value for UI readability."
                    },
                    "description": {
                        "type": "string",
                        "maxLength": 256,
                        "description": "A description of the configuration value for UI readability."
                    },
                    "tags": {
                        "type": "array",
                        "description": "A list of the tags associated with this configuraiton value.",
                        "items": {
                            "type": "string",
                            "maxLength": 64
                        }
                    },
                    "value": {
                        "type": "string",
                        "maxLength": 256,
                        "description": "The value of the configuration."
                    },
                    "default": {
                        "type": "string",
                        "maxLength": 256,
                        "description": "The default value of the configuration."
                    },
                    "callbacks": {
                        "type": "array",
                        "description": "A list of URLs specifying the callback location.",
                        "items": {
                            "type": "string",
                            "maxLength": 256
                        }
                    },
                    "password": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The optional password for the configuration"
                    }
                }
            }
        },
        "UpdateRequest": {
            "type": "array",
            "items": {
                "type": "object",
                "required": [
                    "application",
                    "name"
                ],
                "properties": {
                    "application": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The application or service to whom this configuration value belongs. (eg nsi,   chronos, stasis)"
                    },
                    "instance": {
                        "type": "string",
                        "maxLength": 2,
                        "description": "The instance identifier of the application. If not provided, the instance will default to the instance agnostic identifier (\"-\")."
                    },
                    "partition": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The partition to under which the configuration is found."
                    },
                    "group": {
                        "type": "array",
                        "description": "Groupings of configurations within a configuration partition. Used to further sort and identify configurations.",
                        "items": {
                            "type": "string",
                            "maxLength": 64
                        }
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The name of the configuration."
                    },
                    "title": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "A descriptive title of the configuration value for UI readability."
                    },
                    "description": {
                        "type": "string",
                        "maxLength": 256,
                        "description": "A description of the configuration value for UI readability."
                    },
                    "tags": {
                        "type": "array",
                        "description": "A list of the tags associated with this configuraiton value.",
                        "items": {
                            "type": "string",
                            "maxLength": 64
                        }
                    },
                    "value": {
                        "type": "string",
                        "maxLength": 256,
                        "description": "The value of the configuration."
                    },
                    "default": {
                        "type": "string",
                        "maxLength": 256,
                        "description": "The default value of the configuration."
                    },
                    "callbacks": {
                        "type": "array",
                        "description": "A list of URLs specifying the callback location.",
                        "items": {
                            "type": "string",
                            "maxLength": 256
                        }
                    },
                    "password": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The optional password for the configuration"
                    }
                }
            }
        },
        "CallbackRequest": {
            "type": "array",
            "items": {
                "type": "object",
                "required": [
                    "application",
                    "name",
                    "callbacks"
                ],
                "properties": {
                    "application": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The application or service to whom this configuration value belongs."
                    },
                    "instance": {
                        "type": "string",
                        "maxLength": 2,
                        "description": "The instance identifier of the application. If not provided, the instance will default to the instance agnostic identifier (\"-\")."
                    },
                    "partition": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The partition to under which the configuration is found."
                    },
                    "group": {
                        "type": "array",
                        "description": "Groupings of configurations within a configuration partition. Used to further sort and identify configurations.",
                        "items": {
                            "type": "string",
                            "maxLength": 64
                        }
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The name of the configuration."
                    },
                    "callbacks": {
                        "type": "array",
                        "description": "A list of URLs specifying the callback location.",
                        "items": {
                            "type": "string",
                            "maxLength": 256
                        }
                    },
                    "password": {
                        "type": "string",
                        "maxLength": 256,
                        "description": "The optional password for the configuration"
                    }
                }
            }
        },
        "DeleteCallbackRequest": {
            "type": "array",
            "items": {
                "type": "object",
                "required": [
                    "application",
                    "name"
                ],
                "properties": {
                    "application": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The application or service to whom this configuration value belongs."
                    },
                    "instance": {
                        "type": "string",
                        "maxLength": 2,
                        "description": "The instance identifier of the application. If not provided, the instance will default to the instance agnostic identifier (\"-\")."
                    },
                    "partition": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The partition to under which the configuration is found."
                    },
                    "group": {
                        "type": "array",
                        "description": "Groupings of configurations within a configuration partition. Used to further sort and identify configurations.",
                        "items": {
                            "type": "string",
                            "maxLength": 64
                        }
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The name of the configuration."
                    },
                    "callbacks": {
                        "type": "array",
                        "description": "A list of URLs specifying the callback location.  Leave blank to delete all callbacks",
                        "items": {
                            "type": "string",
                            "maxLength": 256
                        }
                    },
                    "password": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The optional password for the configuration"
                    }
                }
            }
        },
        "DeleteRequest": {
            "type": "array",
            "items": {
                "type": "object",
                "required": [
                    "callbacks"
                ],
                "properties": {
                    "application": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The application or service to whom this configuration value belongs."
                    },
                    "instance": {
                        "type": "string",
                        "maxLength": 2,
                        "description": "The instance identifier of the application."
                    },
                    "partition": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The partition to under which the configuration is found."
                    },
                    "group": {
                        "type": "array",
                        "description": "Groupings of configurations within a configuration partition. Used to further sort and identify configurations.",
                        "items": {
                            "type": "string",
                            "maxLength": 64
                        }
                    },
                    "name": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The name of the configuration."
                    },
                    "hard": {
                        "type": "boolean",
                        "description": "Indicates if the metadata should be deleted along with the value."
                    },
                    "password": {
                        "type": "string",
                        "maxLength": 64,
                        "description": "The optional password for the configuration"
                    }
                }
            }
        },
        "GroupAttributesRO": {
            "type": "object",
            "properties": {
                "resourceState": {
                    "type": "string",
                    "description": "Nsi Resource State.",
                    "enum": [
                        "root",
                        "planned",
                        "discovered",
                        "plannedAndDiscovered",
                        "unknown"
                    ]
                },
                "userData": {
                    "description": "User data",
                    "$ref": "#/definitions/UserDataRO"
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "groupType": {
                    "type": "string"
                },
                "freIds": {
                    "type": "array",
                    "description": "A set of fre Ids for the given Group",
                    "items": {
                        "type": "string"
                    }
                },
                "name": {
                    "type": "string",
                    "description": "Name of the group."
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "GroupDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the Group resource"
                },
                "type": {
                    "type": "string",
                    "description": "The Group resource type",
                    "enum": [
                        "group"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/GroupAttributesRO"
                },
                "relationships": {
                    "description": "The relationships of a group",
                    "$ref": "#/definitions/GroupRelationshipsRO"
                }
            }
        },
        "GroupListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/GroupDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to group, such as GroupPlanned",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "GroupPatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on a Group resource",
                    "enum": [
                        "replace",
                        "delete",
                        "add"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/GroupAttributesRO"
                },
                "attribute": {
                    "type": "string",
                    "description": "name of an attribute to be deleted"
                },
                "path": {
                    "type": "string",
                    "description": "path of the object/attribute to be patched"
                },
                "keys": {
                    "type": "array",
                    "description": "Used to target specific key(s) of the attribute to be deleted",
                    "items": {
                        "type": "string"
                    }
                },
                "relationships": {
                    "description": "The group planned relationships",
                    "$ref": "#/definitions/GroupPlannedRelationshipsRO"
                }
            }
        },
        "GroupPatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/GroupPatchOperationRO"
                    }
                }
            }
        },
        "GroupPlannedAttributesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the group."
                },
                "groupType": {
                    "type": "string",
                    "description": "Type of the group"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "GroupPlannedDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the Group resource"
                },
                "type": {
                    "type": "string",
                    "description": "The Group resource type",
                    "enum": [
                        "groupPlanned"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/GroupPlannedAttributesRO"
                },
                "relationships": {
                    "description": "The group planned relationships",
                    "$ref": "#/definitions/GroupPlannedRelationshipsRO"
                }
            }
        },
        "GroupPlannedRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/GroupPlannedDataRO"
                }
            }
        },
        "GroupPlannedRelationshipsRO": {
            "type": "object",
            "properties": {
                "parentGroup": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "GroupRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "data": {
                    "$ref": "#/definitions/GroupDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to group, such as GroupPlanned",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "GroupRelationshipsRO": {
            "type": "object",
            "properties": {
                "groupPlanned": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstructs": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "fres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "parentGroup": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "DailySummaryRO": {
            "type": "object",
            "properties": {
                "totalDaysWithEvents": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                },
                "dailyCounts": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "$ref": "#/definitions/DayCountRO"
                    }
                }
            }
        },
        "DayCountRO": {
            "type": "object",
            "properties": {
                "day": {
                    "type": "string",
                    "readOnly": true
                },
                "eventCount": {
                    "type": "integer",
                    "format": "int64",
                    "readOnly": true
                }
            }
        },
        "FilterRO": {
            "type": "object",
            "properties": {
                "filterName": {
                    "type": "string",
                    "readOnly": true
                },
                "filterKey": {
                    "type": "string",
                    "readOnly": true
                },
                "filterValues": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "FiltersRO": {
            "type": "object",
            "properties": {
                "availableFilters": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "$ref": "#/definitions/FilterRO"
                    }
                },
                "filteredEvents": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                }
            }
        },
        "QueryPagingRO": {
            "type": "object",
            "properties": {
                "page": {
                    "type": "integer",
                    "format": "int32"
                },
                "resultsPerPage": {
                    "type": "integer",
                    "format": "int32"
                },
                "totalPages": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                },
                "totalResults": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                }
            }
        },
        "ServiceEventListEntryAttributesRO": {
            "type": "object",
            "properties": {
                "weekCode": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                },
                "timestamp": {
                    "type": "string",
                    "readOnly": true
                },
                "category": {
                    "type": "string",
                    "readOnly": true
                },
                "eventName": {
                    "type": "string"
                },
                "userName": {
                    "type": "string"
                },
                "serviceId": {
                    "type": "string",
                    "readOnly": true
                }
            }
        },
        "ServiceEventsListEntryRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "readOnly": true
                },
                "attributes": {
                    "readOnly": true,
                    "$ref": "#/definitions/ServiceEventListEntryAttributesRO"
                }
            }
        },
        "ServiceEventsListMetadataRO": {
            "type": "object",
            "properties": {
                "timeTakenMillis": {
                    "type": "integer",
                    "format": "int64"
                },
                "cachingInformation": {
                    "type": "string",
                    "readOnly": true,
                    "enum": [
                        "FULLY_CACHED",
                        "PARTIALLY_CACHED",
                        "NOT_CACHED"
                    ]
                },
                "queryTimeMs": {
                    "type": "integer",
                    "format": "int64"
                },
                "maxResultCountExceeded": {
                    "type": "boolean",
                    "default": false
                },
                "serviceId": {
                    "type": "string",
                    "readOnly": true
                },
                "totalEventCount": {
                    "type": "integer",
                    "format": "int64",
                    "readOnly": true
                },
                "filters": {
                    "readOnly": true,
                    "$ref": "#/definitions/FiltersRO"
                },
                "paging": {
                    "$ref": "#/definitions/QueryPagingRO"
                },
                "dailySummary": {
                    "readOnly": true,
                    "$ref": "#/definitions/DailySummaryRO"
                }
            }
        },
        "ServiceEventsQueryResponseRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "$ref": "#/definitions/ServiceEventsListEntryRO"
                    }
                },
                "meta": {
                    "readOnly": true,
                    "$ref": "#/definitions/ServiceEventsListMetadataRO"
                }
            }
        },
        "AccessPointRO": {
            "type": "object",
            "properties": {
                "adaptsToLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "adaptsToLayerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "cardinality": {
                    "type": "string",
                    "description": "Number of possible potential TPEs. Can be a numeric (eg '1', '96', '1000', ...) or can be categorical (eg 'indirect')."
                },
                "clientTpeRulesInOwnLayer": {
                    "type": "array",
                    "description": "Directions of how to instantiate client TPE(s) for this access point, including indirect (client over client) client TPE instantiation.",
                    "items": {
                        "$ref": "#/definitions/ConnectionRuleRO"
                    }
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRuleRO"
                },
                "regenIdPackage": {
                    "description": "This package stores regen related information.",
                    "$ref": "#/definitions/RegenIdPackageRO"
                },
                "eDtlRegenIdPackage": {
                    "$ref": "#/definitions/eDtlRegenIdPackageRO"
                },
                "cascadedDtlTpePackage": {
                    "description": "This package stores cascaded dtl tpe information.",
                    "$ref": "#/definitions/CascadedDtlTpePackageRO"
                },
                "mirroringBandwidthRules": {
                    "type": "string",
                    "description": "The mirroringBandwithRules for capacity calculation"
                },
                "mirroringNamingRules": {
                    "type": "string",
                    "description": "The mirroringNamingRules for capacity calculation"
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "potentialGrowthCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "namingRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NamingRulesRO"
                    }
                },
                "stitchingConstraint": {
                    "type": "string",
                    "description": "stitchingConstraint values",
                    "enum": [
                        "otnRegen"
                    ]
                }
            }
        },
        "AdaptationPoolRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the AdaptationPool. Unique in the scope of this TPE."
                },
                "logicalRule": {
                    "type": "string",
                    "description": "Restrict the number of active poolAdapters could be xOR or OR - default is OR",
                    "enum": [
                        "xOR",
                        "OR"
                    ]
                },
                "poolAdapters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AdapterRO"
                    }
                },
                "memberAdaptationPools": {
                    "type": "array",
                    "description": "Reference(s) to 0 or more member AdaptationPool-s. Allows for nesting of AdaptationPools.",
                    "items": {
                        "type": "string"
                    }
                },
                "namingRules": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "AdapterRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the Adapter. Unique in the scope of this TPE."
                },
                "adaptsToLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "adaptsToLayerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "poolAdapterType": {
                    "type": "string",
                    "description": "The type for the adapter."
                },
                "connectionRulesInAdaptationLayer": {
                    "type": "array",
                    "description": "Directions of how to instantiate client TPE(s) for this adapter, including indirect (client over client) client TPE instantiation.",
                    "items": {
                        "$ref": "#/definitions/ConnectionRuleRO"
                    }
                },
                "cardinality": {
                    "type": "string",
                    "description": "Number of possible potential TPEs. Can be a numeric (eg '1', '96', '1000', ...) or can be categorical (eg 'indirect')."
                },
                "continuousAdapterRulesPackage": {
                    "description": "This package stores various rules to be considered when instantiating a new TPE utilizing continuous b/w.",
                    "$ref": "#/definitions/ContinuousAdapterRulesPackageRO"
                },
                "mappingInteractionRules": {
                    "type": "array",
                    "description": "The specification of the interaction between the support for different client layer protocols signals.",
                    "items": {
                        "$ref": "#/definitions/MappingInteractionRuleRO"
                    }
                },
                "potentialAdapterCapacities": {
                    "type": "array",
                    "description": "Total potential capacity of this Adapter.",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRuleRO"
                },
                "photonicSpectrumPackage": {
                    "description": "This package stores photonic spectrum information.",
                    "$ref": "#/definitions/PhotonicSpectrumPackageRO"
                },
                "nameToCapacityMappingRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NameToCapacityMappingRulesRO"
                    }
                },
                "eFreTerminationState": {
                    "type": "string",
                    "description": "Values to handle TPEs that have multiple poolAdapters, especially multiple poolAdapters adapting to the same layer rate",
                    "enum": [
                        "hapFre_terminated",
                        "hapFre_not_terminated"
                    ]
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "mirroringBandwidthRules": {
                    "type": "string",
                    "description": "The mirroringBandwithRules for capacity calculation"
                },
                "mirroringNamingRules": {
                    "type": "string",
                    "description": "The mirroringNamingRules for capacity calculation"
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "potentialGrowthCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "namingRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NamingRulesRO"
                    }
                },
                "stitchingConstraint": {
                    "type": "string",
                    "description": "stitchingConstraint values",
                    "enum": [
                        "otnRegen"
                    ]
                }
            }
        },
        "AdjacencyPackageRO": {
            "type": "object",
            "properties": {
                "adjacencyType": {
                    "type": "string",
                    "description": "This field delimits the adjacency type between two network elements (Ex: LIM, LINE, etc...)."
                },
                "localTag": {
                    "type": "string",
                    "description": "The actual tag of the originating network element."
                },
                "localTagFormat": {
                    "type": "string",
                    "description": "The format of the local adjacency tag."
                },
                "provisionedRemoteTag": {
                    "type": "string",
                    "description": "The provisioned remote tag is the expected destination defined by the user that adheres to the remoteTagFormat."
                },
                "provisionedRemoteTagFormat": {
                    "type": "string",
                    "description": "The format of the remote provisioning adjacency tag."
                },
                "remoteTag": {
                    "type": "string",
                    "description": "The actual remote tag as discovered by the network element."
                },
                "remoteTagFormat": {
                    "type": "string",
                    "description": "The format of the remote adjacency tag."
                },
                "topologySourceTag": {
                    "type": "string",
                    "description": "The tag representing the topological state. This could be 'DISCOVERED', for example."
                },
                "adjacencyMechanism": {
                    "type": "string",
                    "description": "The attribute defining the adjacency mechanism used."
                },
                "linkAttributes": {
                    "description": "This package stores information of Link.",
                    "$ref": "#/definitions/LinkAttributesRO"
                }
            }
        },
        "AffinityRO": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string",
                    "description": "Affinity"
                },
                "mask": {
                    "type": "string",
                    "description": "Affinity Mask"
                }
            }
        },
        "AfiSafiNextHopSelfRO": {
            "type": "object",
            "properties": {
                "configured": {
                    "type": "boolean",
                    "description": "true/false depending on if nbr is added as route reflector client for afi and safi",
                    "default": false
                },
                "excludeReflectedRoutes": {
                    "type": "boolean",
                    "description": "true/false depending on if nbr is added as route reflector client for afi and safi",
                    "default": false
                }
            }
        },
        "AfiSafiOrfRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Outbound Route Filtering type"
                },
                "direction": {
                    "type": "string",
                    "description": "Outbound Route Filtering direction",
                    "enum": [
                        "rx",
                        "tx",
                        "both"
                    ]
                }
            }
        },
        "AfiSafiPrefixListRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name to filter BGP advertisements."
                },
                "direction": {
                    "type": "string",
                    "description": "Direction to filter BGP advertisements.",
                    "enum": [
                        "in",
                        "out"
                    ]
                }
            }
        },
        "ArpRemoteRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "The ID resource type"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the referenced resource"
                }
            }
        },
        "AssociationIdentifierRO": {
            "type": "object"
        },
        "AssociationObjectAttributesRO": {
            "type": "object",
            "properties": {
                "associations": {
                    "type": "array",
                    "description": "List of associations",
                    "items": {
                        "$ref": "#/definitions/AssociationRO"
                    }
                }
            }
        },
        "AssociationRO": {
            "type": "object",
            "properties": {
                "orderIndex": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The order index value of this entry (to allow defining an entry order)"
                },
                "relationshipType": {
                    "type": "string",
                    "description": "The type of association. Each value indicates what type of relationship this association is representing.",
                    "enum": [
                        "concrete",
                        "owningServer",
                        "physical"
                    ]
                },
                "relationship": {
                    "type": "string",
                    "description": "The association relationship resource type",
                    "enum": [
                        "networkConstructs",
                        "tpes",
                        "fres"
                    ]
                },
                "freType": {
                    "type": "string",
                    "description": "The type of the fre that's associated with."
                },
                "identifier": {
                    "description": "Association Identifier",
                    "$ref": "#/definitions/AssociationIdentifierRO"
                },
                "id": {
                    "type": "string",
                    "description": "The id of the resource being referenced by this association"
                },
                "nodalId": {
                    "type": "string",
                    "description": "The id of the resource being referenced by this association"
                }
            }
        },
        "BandwidthThresholdRO": {
            "type": "object",
            "properties": {
                "ODU0": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU0) advertised for a link."
                },
                "ODU1": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU1) advertised for a link."
                },
                "ODU2": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU2) advertised for a link."
                },
                "ODU2E": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU2E) advertised for a link."
                },
                "ODU3": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU3) advertised for a link."
                },
                "ODU4": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (here unit of ODU4) advertised for a link."
                },
                "ODUFLEXRSZ": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (in Bps) for Resizable ODU Flex advertised for a link."
                },
                "ODUFLEXNRSZ": {
                    "type": "string",
                    "description": "The Bandwidth Threshold shows the maximum number of bandwidth units (in Bps) for Non-Resizable ODU Flex advertised for a link."
                }
            }
        },
        "BandwidthTriggersRO": {
            "type": "object",
            "properties": {
                "dependentLinks": {
                    "type": "array",
                    "description": "List of dependent LLDP/LAG for the stitched FRE.",
                    "items": {
                        "type": "string"
                    }
                },
                "dependentTunnels": {
                    "type": "array",
                    "description": "List of dependent Tunnels for the stitched FRE.",
                    "items": {
                        "type": "string"
                    }
                },
                "maxBW": {
                    "type": "string",
                    "description": "Maximum BW for the FRE."
                },
                "assignedBW": {
                    "type": "string",
                    "description": "Used BW by the FRE."
                }
            }
        },
        "BfdRO": {
            "type": "object",
            "properties": {
                "configured": {
                    "type": "boolean",
                    "description": "True when BFD is enabled on this endpoint",
                    "default": false
                },
                "profileName": {
                    "type": "string",
                    "description": "The profile name associated with this set of BFD attributes"
                },
                "adminState": {
                    "type": "string",
                    "description": "The administrative state of BFD for this endpoint",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "operationalState": {
                    "type": "string",
                    "description": "The operational state of BFD for this endpoint",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "role": {
                    "type": "string",
                    "description": "The role of BFD for this endpoint",
                    "enum": [
                        "passive",
                        "active",
                        "any"
                    ]
                },
                "transmitInterval": {
                    "type": "string",
                    "description": "The interval between transmitting BFD messages"
                },
                "receiveInterval": {
                    "type": "string",
                    "description": "The interval between receiving BFD messages"
                }
            }
        },
        "BgpAddPathRO": {
            "type": "object",
            "properties": {
                "capability": {
                    "type": "string",
                    "description": "The add-path capability towards the neighbor.",
                    "enum": [
                        "send",
                        "receive",
                        "both",
                        "disable"
                    ]
                },
                "advertise": {
                    "type": "string",
                    "description": "The number of paths to advertise to the neighbor. Applicable only when the capability is send or both.",
                    "enum": [
                        "all",
                        "best1",
                        "best2",
                        "best3"
                    ]
                },
                "diversePath": {
                    "type": "boolean",
                    "description": "BGP PIC Diverse Path.",
                    "default": false
                }
            }
        },
        "BgpAfiSafiRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Supported afi-safi names.",
                    "enum": [
                        "IPV4_UNICAST",
                        "IPV4_LABELED_UNICAST"
                    ]
                },
                "activated": {
                    "type": "boolean",
                    "description": "true if activated otherwise false",
                    "default": false
                },
                "grCapability": {
                    "type": "string",
                    "description": "GR capability",
                    "enum": [
                        "enabled",
                        "disabled"
                    ]
                },
                "prefixList": {
                    "description": "This stores BGP Afi Safi Prefix List related information.",
                    "$ref": "#/definitions/AfiSafiPrefixListRO"
                },
                "orf": {
                    "description": "This stores BGP Afi Safi Orf related information.",
                    "$ref": "#/definitions/AfiSafiOrfRO"
                },
                "addPath": {
                    "description": "The add-path configuration for the neighbor.",
                    "$ref": "#/definitions/BgpAddPathRO"
                },
                "routeMap": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BgpRouteMapRO"
                    }
                },
                "rrEnabled": {
                    "type": "boolean",
                    "description": "true/false depending on if nbr is added as route reflector client for afi and safi",
                    "default": false
                },
                "nextHopSelf": {
                    "description": "This stores BGP Afi Safi NextHopSelf related information.",
                    "$ref": "#/definitions/AfiSafiNextHopSelfRO"
                }
            }
        },
        "BgpBfdRO": {
            "type": "object",
            "properties": {
                "configured": {
                    "type": "boolean",
                    "description": "True when BFD is enabled on this endpoint",
                    "default": false
                },
                "profileName": {
                    "type": "string",
                    "description": "The profile name associated with this set of BFD attributes"
                },
                "adminState": {
                    "type": "string",
                    "description": "The administrative state of BFD for this endpoint",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "operationalState": {
                    "type": "string",
                    "description": "The operational state of BFD for this endpoint",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "role": {
                    "type": "string",
                    "description": "The role of BFD for this endpoint",
                    "enum": [
                        "passive",
                        "active",
                        "any"
                    ]
                },
                "transmitInterval": {
                    "type": "string",
                    "description": "The interval between transmitting BFD messages"
                },
                "receiveInterval": {
                    "type": "string",
                    "description": "The interval between receiving BFD messages"
                },
                "mhop": {
                    "type": "boolean",
                    "description": "True when BFD is enabled on this endpoint",
                    "default": false
                }
            }
        },
        "BgpFrrRO": {
            "type": "object",
            "properties": {
                "ipv4Unicast": {
                    "type": "string",
                    "description": "Frr state for ipv4Unicast on Node/ Equipment Group.",
                    "enum": [
                        "DISABLED",
                        "ENABLED"
                    ]
                },
                "ipv4LabeledUnicast": {
                    "type": "string",
                    "description": "Frr state for ipv4LabeledUnicast on Node/ Equipment Group.",
                    "enum": [
                        "DISABLED",
                        "ENABLED"
                    ]
                }
            }
        },
        "BgpMsgsRO": {
            "type": "object",
            "properties": {
                "peerInUpdates": {
                    "type": "string",
                    "description": "Number of peer in updates"
                },
                "peerOutUpdates": {
                    "type": "string",
                    "description": "Number of peer out updates"
                },
                "peerInTotalMessages": {
                    "type": "string",
                    "description": "Total Number of peer messages"
                },
                "peerOutTotalMessages": {
                    "type": "string",
                    "description": "Total number of peer out messages"
                },
                "peerInUpdateElapsedTime": {
                    "type": "string",
                    "description": "Peer updated elapsed time in seconds"
                },
                "lastError": {
                    "description": "This stores BGP Message Last Error related information.",
                    "$ref": "#/definitions/MsgsLastErrorRO"
                }
            }
        },
        "BgpPackageRO": {
            "type": "object",
            "properties": {
                "peerType": {
                    "type": "string",
                    "description": "internal/external depending on peerAs number is same as local or different.",
                    "enum": [
                        "internal",
                        "external"
                    ]
                },
                "peerAs": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Autonomous System number configured for the peer."
                },
                "peerBgpIdentifier": {
                    "type": "string",
                    "description": "BGP identifier of the peer. Learned only in OPEN CONFIRM and ESTABLISHED states."
                },
                "peerState": {
                    "type": "string",
                    "description": "BGP states",
                    "enum": [
                        "idle",
                        "connect",
                        "active",
                        "opensent",
                        "openconfirm",
                        "established"
                    ]
                },
                "peerNegotiatedBGPVersion": {
                    "type": "string",
                    "description": "Learned only in OPENCONFIRM and ESTABLISHED states."
                },
                "peerFsmEstablishedTransitions": {
                    "type": "string",
                    "description": "Peer Fsm established transitions."
                },
                "security": {
                    "description": "Security related config.",
                    "$ref": "#/definitions/BgpSecurityRO"
                },
                "peerFsmEstablishedTime": {
                    "type": "string",
                    "description": "Peer Fsm established time in seconds."
                },
                "bfd": {
                    "description": "Holds BFD attributes for BGP TPE endpoint",
                    "$ref": "#/definitions/BgpBfdRO"
                },
                "transport": {
                    "description": "This package stores BGP transport related information.",
                    "$ref": "#/definitions/BgpTransportRO"
                },
                "timers": {
                    "description": "This package stores BGP time related information.",
                    "$ref": "#/definitions/BgpTimersRO"
                },
                "rr": {
                    "description": "This package stores BGP route reflector related information.",
                    "$ref": "#/definitions/BgpRrRO"
                },
                "msgs": {
                    "description": "This package stores BGP message related information.",
                    "$ref": "#/definitions/BgpMsgsRO"
                },
                "afiSafi": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BgpAfiSafiRO"
                    }
                }
            }
        },
        "BgpRouteMapRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The route-map name."
                },
                "direction": {
                    "type": "string",
                    "description": "The route-map direction.",
                    "enum": [
                        "in",
                        "out"
                    ]
                }
            }
        },
        "BgpRrRO": {
            "type": "object",
            "properties": {
                "peerClusterId": {
                    "type": "string",
                    "description": "The cluster-id to which peer belongs if it is configured as RR client."
                },
                "peerRole": {
                    "type": "string",
                    "description": "Role of the peer",
                    "enum": [
                        "client",
                        "routeReflector"
                    ]
                },
                "role": {
                    "type": "string",
                    "description": "self role",
                    "enum": [
                        "client",
                        "routeReflector"
                    ]
                }
            }
        },
        "BgpSecurityRO": {
            "type": "object",
            "properties": {
                "md5Authentication": {
                    "type": "string",
                    "description": "If MD5 authentication is enabled or disabled for the neighbor.",
                    "enum": [
                        "enabled",
                        "disabled"
                    ]
                }
            }
        },
        "BgpTimersRO": {
            "type": "object",
            "properties": {
                "peerConnectRetryInterval": {
                    "type": "string",
                    "description": "Peer connection retry intervel in seconds."
                },
                "peerNegotiatedHoldTime": {
                    "type": "string",
                    "description": "Peer negotiation hold time in seconds"
                },
                "peerConfiguredHoldTime": {
                    "type": "string",
                    "description": "Peer configured hold time in seconds"
                },
                "peerNegotiatedKeepAliveTime": {
                    "type": "string",
                    "description": "Peer negotiation keep alive time in seconds"
                },
                "peerConfiguredKeepAliveTime": {
                    "type": "string",
                    "description": "Peer configured keep alive time in seconds"
                },
                "peerMinASOriginationInterval": {
                    "type": "string",
                    "description": "Peer minimum AS origination intervel in seconds"
                },
                "peerMinRouteAdvertisementInterval": {
                    "type": "string",
                    "description": "Peer minimum advertised intervel in seconds"
                }
            }
        },
        "BgpTransportRO": {
            "type": "object",
            "properties": {
                "updateSource": {
                    "type": "string",
                    "description": "The name of IP interface used with update-source."
                },
                "localIp": {
                    "type": "string",
                    "description": "If update-source is configured then IP address of the interface. Rely on learned localIp if it is reported. Reported in OPENCONFIRM and ESTABLISHED states."
                },
                "localPort": {
                    "type": "string",
                    "description": "Local port reported in OPENCONFIRM and ESTABLISHED states."
                },
                "peerIp": {
                    "type": "string",
                    "description": "Peer Ip configured as part of BGP peer configuration."
                },
                "peerPort": {
                    "type": "string",
                    "description": "Peer port reported in OPENCONFIRM and ESTABLISHED states."
                }
            }
        },
        "BookingDataRO": {
            "type": "object",
            "properties": {
                "assignedBandwidth": {
                    "type": "string",
                    "description": "The bandwidth assigned to the link."
                },
                "assignedBandwidthUnit": {
                    "type": "string",
                    "description": "The unit of the bandwidth assigned to the link."
                },
                "bandwidthLockout": {
                    "type": "boolean",
                    "description": "Flag that enables/disables a link from having additional tunnel BW being consumed.",
                    "default": false
                },
                "bookingFactor": {
                    "type": "string",
                    "description": "The factor that dictates how much overbooking is allowed."
                }
            }
        },
        "BwRO": {
            "type": "object",
            "properties": {
                "unit": {
                    "type": "string",
                    "description": "The bandwidth unit that applies to all bandwidth attributes in this package. Available values: bps, kbps, mbps, gbps"
                },
                "used": {
                    "type": "string",
                    "description": "The current used bandwidth by all supported clients"
                },
                "minimum": {
                    "type": "string",
                    "description": "The minimum bandwidth configured for supported clients"
                },
                "maximum": {
                    "type": "string",
                    "description": "The maximum bandwidth configured for supported clients"
                },
                "increment": {
                    "type": "string",
                    "description": "The configured bandwidth increment for auto-sizing of an MPLS tunnel"
                },
                "requested": {
                    "type": "string",
                    "description": "The requested bandwidth from the supporting layer, e.g. a dynamic tunnel requesting bandwidth from IP interface"
                },
                "operational": {
                    "type": "string",
                    "description": "The current bandwidth being allocated from the supporting layer"
                },
                "total": {
                    "type": "string",
                    "description": "The total bandwidth allocated or allowed, e.g. the capacity of an IP interface"
                },
                "bookingFactor": {
                    "type": "string",
                    "description": "The booking factor of how much the bandwidth can be oversubscribed, e.g. on an IP interface"
                },
                "maxReservable": {
                    "type": "string",
                    "description": "The maximum reservable bandwidth allowed to be allocated to supported clients and it's calculated as bwBookingFactor x bwTotal"
                },
                "available": {
                    "type": "string",
                    "description": "The available bandwidth left to be"
                },
                "autoSize": {
                    "type": "string",
                    "description": "If true, the MPLS tunnel will be auto-sized by the NE",
                    "enum": [
                        "enable",
                        "disable"
                    ]
                },
                "autoSizingMode": {
                    "type": "string",
                    "description": "The configured auto-sizing mode",
                    "enum": [
                        "none",
                        "cac",
                        "utilization"
                    ]
                },
                "autoSizeFailureAction": {
                    "type": "string",
                    "description": "The action to be taken when auto-sizing fails: raise alarm, or make-before-break",
                    "enum": [
                        "none",
                        "alarm",
                        "mbb"
                    ]
                },
                "autoSizeIntervalMinutes": {
                    "type": "string",
                    "description": "The configured interval between auto-sizing attempts"
                },
                "autoSizeLastResizeState": {
                    "type": "string",
                    "description": "The state of the last auto-sizing attempt",
                    "enum": [
                        "success",
                        "failure",
                        "in_progress"
                    ]
                },
                "autoSizeLastResizeStartTime": {
                    "type": "string",
                    "description": "Start time of the last auto resize happened"
                },
                "autoSizeLastResizeEndTime": {
                    "type": "string",
                    "description": "End time of the last auto resize happened"
                },
                "autoSizeLastResizeReason": {
                    "type": "string",
                    "description": "Reason of the last auto resize happened"
                },
                "profileName": {
                    "type": "string",
                    "description": "The name of the bandwidth profile associated with the dynamic tunnel endpoint"
                }
            }
        },
        "CalendarChannelDetailsRO": {
            "type": "object",
            "properties": {
                "calendars": {
                    "type": "array",
                    "description": "List of calendar details for the FlexE group",
                    "items": {
                        "$ref": "#/definitions/CalendarDetailsRO"
                    }
                },
                "channels": {
                    "description": "This package stores the channel details for the FlexE group. Key is the name of each FlexE channel",
                    "$ref": "#/definitions/ChannelsRO"
                }
            }
        },
        "CalendarDetailsRO": {
            "type": "object",
            "properties": {
                "calendarName": {
                    "type": "string",
                    "description": "Name for FlexE calendar"
                },
                "calendarMappings": {
                    "type": "array",
                    "description": "List of calendar-slot mappings of the FlexE calendar for the FlexE group",
                    "items": {
                        "$ref": "#/definitions/PhyDetailsRO"
                    }
                }
            }
        },
        "CapacityPatternRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Identifies Pattern type",
                    "enum": [
                        "LIST",
                        "RANGE",
                        "POOL",
                        "PERCENTAGE"
                    ]
                },
                "format": {
                    "type": "string",
                    "description": "An optional regex expression or format string describing how to parse the size string in case of multiple values, e.g. CIR:EIR"
                }
            }
        },
        "CapacityRO": {
            "type": "object",
            "properties": {
                "layer": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "capacityClass": {
                    "type": "string",
                    "description": "Discrete – b/w space is treated as a list of discrete values; this is default. Continuous – b/w space is treated as continuous segment, in the range of low/upper.",
                    "enum": [
                        "discrete",
                        "continuous"
                    ]
                },
                "capacity": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of potential client instances or usage instances"
                },
                "capacityType": {
                    "type": "string",
                    "description": "Resizable or Non-Resizable capacity type of ODUFLEX",
                    "enum": [
                        "RSZ",
                        "NRSZ"
                    ]
                },
                "capacitySize": {
                    "description": "Identifies how the capacity size is to be interpreted : LIST is a discrete list of values, RANGE is a range in values etc...",
                    "$ref": "#/definitions/CapacitySizeRO"
                },
                "capacityCalculationRule": {
                    "type": "string",
                    "description": "Core logic that will be used on capacity calculation"
                },
                "source": {
                    "type": "string",
                    "description": "Source of the capacity"
                },
                "maxLimit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Maximum potential client instances"
                }
            }
        },
        "CapacityReservationRO": {
            "type": "object",
            "properties": {
                "startTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "endTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "usedCapacity": {
                    "description": "Resource to track total and used capacity per client type for a TPE",
                    "$ref": "#/definitions/CapacityRO"
                }
            }
        },
        "CapacitySizeRO": {
            "type": "object",
            "properties": {
                "size": {
                    "type": "array",
                    "description": "Capacity size to be interpreted with CapacityPattern",
                    "items": {
                        "type": "string"
                    }
                },
                "pattern": {
                    "description": "Identifies how the capacity size is to be interpreted : LIST is a discrete list of values, RANGE is a range in values etc...",
                    "$ref": "#/definitions/CapacityPatternRO"
                },
                "unit": {
                    "type": "string",
                    "description": "unit for size string value"
                }
            }
        },
        "CascadedDtlTpePackageRO": {
            "type": "object",
            "properties": {
                "cascadedDtlIdTuple": {
                    "type": "string",
                    "description": "This field Cascaded DTL ID Tuple info.."
                }
            }
        },
        "ChannelsRO": {
            "type": "object"
        },
        "ClassOfServicesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the class of service",
                    "enum": [
                        "CRITICAL",
                        "NETWORK",
                        "PREMIUM",
                        "PLATINUM",
                        "GOLD",
                        "SILVER",
                        "BRONZE",
                        "STANDARD"
                    ]
                },
                "bandwidthProfileName": {
                    "type": "string",
                    "description": "Name of the Bandwidth Profile"
                },
                "bandwidthProfileIndex": {
                    "type": "string",
                    "description": "Index number of the Bandwidth Profile"
                }
            }
        },
        "ClientToClientRO": {
            "type": "object",
            "properties": {
                "intraCluster": {
                    "type": "string",
                    "description": "A flag to check if cluster is intra-cluster.",
                    "enum": [
                        "enabled",
                        "disabled"
                    ]
                }
            }
        },
        "ClusterRO": {
            "type": "object",
            "properties": {
                "clusterId": {
                    "type": "string",
                    "description": "Id of this Cluster."
                },
                "clientToClient": {
                    "description": "Holds information about ClientToClient Reflection.",
                    "$ref": "#/definitions/ClientToClientRO"
                }
            }
        },
        "ColorEntryRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the color"
                },
                "bitmask": {
                    "type": "string",
                    "description": "The 32-bit hexadecimal bitmask of the color"
                }
            }
        },
        "ColorGroupRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the color group"
                },
                "bitmask": {
                    "type": "string",
                    "description": "The 32-bit hexadecimal bitmask of the color group"
                },
                "colors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ColorEntryRO"
                    }
                }
            }
        },
        "ConnectionPointRO": {
            "type": "object",
            "properties": {
                "owningPoolAdapterType": {
                    "type": "string",
                    "description": "Type of the owner Adapter."
                },
                "dynamicOwningPoolAdapterFgiRules": {
                    "type": "array",
                    "description": "dynamicOwningPoolAdapterFgiRules",
                    "items": {
                        "type": "string"
                    }
                },
                "mirroringBandwidthRules": {
                    "type": "string",
                    "description": "The mirroringBandwithRules for capacity calculation"
                },
                "mirroringNamingRules": {
                    "type": "string",
                    "description": "The mirroringNamingRules for capacity calculation"
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "potentialGrowthCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "namingRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NamingRulesRO"
                    }
                },
                "stitchingConstraint": {
                    "type": "string",
                    "description": "stitchingConstraint values",
                    "enum": [
                        "otnRegen"
                    ]
                }
            }
        },
        "ConnectionRuleRO": {
            "type": "object",
            "properties": {
                "targetLayer": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "rule": {
                    "type": "string",
                    "description": "toServerUsingClientExternalFGRule matchers server's clientExternalFGRule",
                    "enum": [
                        "mustConnectInternally",
                        "clientExternalFGRule",
                        "connectsExternally",
                        "toServerUsingClientExternalFGRule",
                        "externalFGRule",
                        "externalFGRuleViaImmediateClientPotential",
                        "toDualPortPeerUsingClientExternalFGRule",
                        "transitionalAtCreationTime"
                    ]
                },
                "immediateClientPotential": {
                    "type": "string",
                    "description": "If describing connectionRulesInAdaptationLayer: names of TPESpec of immediate client TPE. If describing connectionRulesInOwnLayer: null (not relevant). If describing mustConnectInternally: null (not relevant)."
                },
                "immediateDualPortPeerPotential": {
                    "type": "string",
                    "description": "If describing connectionRulesInAdaptationLayer: names of TPESpec of dual port peer TPE. If describing connectionRulesInOwnLayer: null (not relevant). If describing mustConnectInternally: null (not relevant)."
                }
            }
        },
        "ContinuousAdapterRulesPackageRO": {
            "type": "object",
            "properties": {
                "segmentationRule": {
                    "type": "string",
                    "description": "Whether the segment can be fragmented.",
                    "enum": [
                        "oneSegementInGroup"
                    ]
                },
                "widthRule": {
                    "type": "string",
                    "description": "How wide the range can be. Can point to a specific algorithm to be executed.",
                    "enum": [
                        "mediaChannelWidthRule",
                        "nmcWidthRule"
                    ]
                },
                "lowerBoundaryRule": {
                    "type": "string",
                    "description": "Rule that the boundary of the range must follow. Can point to a specific algorithm to be executed.",
                    "enum": [
                        "mustSnapTo6_25GHzGrid_0_768",
                        "mustSnapTo37_5GHzGrid_0_96",
                        "snapTo6_25GHzGrid",
                        "snapTo50GHzGrid",
                        "snapTo100GHzGrid",
                        "snapTo75GHzGrid"
                    ]
                },
                "upperBoundaryRule": {
                    "type": "string",
                    "description": "Rule that the boundary of the range must follow. Can point to a specific algorithm to be executed.",
                    "enum": [
                        "mustSnapTo6_25GHzGrid_0_768",
                        "mustSnapTo37_5GHzGrid_0_96",
                        "snapTo6_25GHzGrid",
                        "snapTo50GHzGrid",
                        "snapTo100GHzGrid",
                        "snapTo75GHzGrid"
                    ]
                },
                "centerFrequencyRule": {
                    "type": "string",
                    "description": "Rule that the centerFrequency of the range must follow. Can point to a specific algorithm to be executed.",
                    "enum": [
                        "transponderResolution"
                    ]
                }
            }
        },
        "ControlPlanePackageRO": {
            "type": "object",
            "properties": {
                "sncType": {
                    "type": "string",
                    "enum": [
                        "DYNAMIC",
                        "PERMANENT"
                    ]
                },
                "meshRestorable": {
                    "type": "boolean",
                    "default": false
                },
                "grouped": {
                    "type": "boolean",
                    "default": false
                },
                "exclusiveRouting": {
                    "type": "boolean",
                    "default": false
                },
                "sncRole": {
                    "type": "string",
                    "description": "Role of SNC i.e WORKING or PROTECT",
                    "enum": [
                        "WORKING",
                        "PROTECT"
                    ]
                },
                "sncpPackage": {
                    "description": "Defines SNCP peer information",
                    "$ref": "#/definitions/SncpPackageRO"
                },
                "backOffPeriod": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Back-off period for retrying SNC setup"
                },
                "regroomAllowed": {
                    "type": "boolean",
                    "description": "Indicates if re-groom operation can be performed on this SNC.",
                    "default": false
                },
                "ovpnIds": {
                    "type": "array",
                    "description": "The primary optical virtual private network ID list",
                    "items": {
                        "type": "string"
                    }
                },
                "secOvpnIds": {
                    "type": "array",
                    "description": "The secondary optical virtual private network ID list",
                    "items": {
                        "type": "string"
                    }
                },
                "configuredLatencyType": {
                    "type": "string",
                    "description": "Describe whether the latency is discovered or  manual.",
                    "enum": [
                        "disc",
                        "manual"
                    ]
                },
                "rhpEnabled": {
                    "type": "boolean",
                    "description": "Retain Home Path capability for the SNC.",
                    "default": false
                },
                "integrityCheckEnabled": {
                    "type": "string",
                    "description": "This parameter indicates the SnIC Admin State for a SNC. It can be yes or no to enable or disable SnIC on a SNC.",
                    "enum": [
                        "YES",
                        "NO"
                    ]
                },
                "meshAttemptLimitEnabled": {
                    "type": "boolean",
                    "description": "Mesh Attempt Limit capability for the SNC.",
                    "default": false
                },
                "meshAttemptLimit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Indicate configured number of Mesh Limit of SNC"
                },
                "meshAttemptCounter": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Indicate remaining number of Mesh Limit of SNC"
                },
                "nativePST": {
                    "type": "string",
                    "description": "The parameter indicated SNC's state. The value is derived from PST value of SNC"
                },
                "homePathPreemption": {
                    "description": "Defines SNC preemption package information",
                    "$ref": "#/definitions/SncPreemptionPackageRO"
                },
                "restorationPathPreemption": {
                    "description": "Defines SNC preemption package information",
                    "$ref": "#/definitions/SncPreemptionPackageRO"
                }
            }
        },
        "DfElectionRO": {
            "type": "object",
            "properties": {
                "role": {
                    "type": "string",
                    "description": "Designated Forwarder or not",
                    "enum": [
                        "DF",
                        "NDF"
                    ]
                },
                "configuredDfElectionMethod": {
                    "type": "string",
                    "description": "The configured DF election method - default, highest-random-weight, or preference-based",
                    "enum": [
                        "DEFAULT",
                        "HIGHEST_RANDOM_WEIGHT",
                        "PREFERENCE"
                    ]
                },
                "operationalDfElectionMethod": {
                    "type": "string",
                    "description": "The operational DF election method - default, highest-random-weight, or preference-based",
                    "enum": [
                        "DEFAULT",
                        "HIGHEST_RANDOM_WEIGHT",
                        "PREFERENCE"
                    ]
                },
                "selectHighPreference": {
                    "type": "boolean",
                    "description": "Preference with higher value will be selected first",
                    "default": false
                },
                "configuredPerference": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The configured DF preference"
                },
                "operationalPerference": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The operational DF preference"
                },
                "configuredRevertive": {
                    "type": "boolean",
                    "description": "The 'preempt' or 'revertive' behavior",
                    "default": false
                },
                "operationalRevertive": {
                    "type": "boolean",
                    "description": "The 'preempt' or 'revertive' behavior",
                    "default": false
                },
                "electionWaitTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Wait time for DF election"
                },
                "reversionHoldTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Duration before reversion"
                }
            }
        },
        "DhcpRelayAgentRO": {
            "type": "object",
            "properties": {
                "enable": {
                    "type": "boolean",
                    "description": "Disable the DHCP relay agent",
                    "default": false
                },
                "serverIp": {
                    "type": "string",
                    "description": "The IP address the relay agent should forward to"
                }
            }
        },
        "DhcpRelayAgentRO_": {
            "type": "object",
            "properties": {
                "enable": {
                    "type": "boolean",
                    "description": "Disable the DHCP relay agent",
                    "default": false
                },
                "serverIp": {
                    "type": "string",
                    "description": "The IP address the relay agent should forward to"
                }
            }
        },
        "EsiTypeRO": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string",
                    "description": "ESI type",
                    "enum": [
                        "TYPE3_MAC"
                    ]
                },
                "systemMacAddress": {
                    "type": "string",
                    "description": "ESI System MAC (6 octets)"
                }
            }
        },
        "EthernetSegmentRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the ethernet segment"
                },
                "esiId": {
                    "type": "string",
                    "description": "Ethernet Segment Identifier (ESI)"
                },
                "label": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment label of EVPN"
                },
                "logicalPort": {
                    "type": "string",
                    "description": "Logical port of the ethernet segment"
                },
                "evlag": {
                    "type": "boolean",
                    "description": "Enable/disable EvLag on the AGG port",
                    "default": false
                },
                "esiType": {
                    "description": "Choice between different types of Ethernet Segment Identifiers (ESI)",
                    "$ref": "#/definitions/EsiTypeRO"
                },
                "multiHoming": {
                    "type": "boolean",
                    "description": "is multiHoming in segment",
                    "default": false
                },
                "multiHomingMode": {
                    "type": "string",
                    "description": "mode of multiHoming",
                    "enum": [
                        "SINGLE_ACTIVE",
                        "ALL_ACTIVE"
                    ]
                },
                "interfaceStatus": {
                    "type": "string",
                    "description": "interface status: Up or Down",
                    "enum": [
                        "UP",
                        "DOWN"
                    ]
                },
                "designatedForwarder": {
                    "description": "The DF election method",
                    "$ref": "#/definitions/DfElectionRO"
                },
                "evpnId": {
                    "type": "string",
                    "description": "Evpn Id associated with ethernet Segment"
                },
                "eviId": {
                    "type": "string",
                    "description": "EVPN Instance ID (EVI)"
                }
            }
        },
        "EvpnRO": {
            "type": "object",
            "properties": {
                "evi": {
                    "description": "Package that holds Virtual Routing and Forwarding data",
                    "$ref": "#/definitions/FreVrfPackageRO"
                },
                "service": {
                    "description": "Package that holds Service data of EVPN instance",
                    "$ref": "#/definitions/EvpnServiceRO"
                }
            }
        },
        "EvpnServiceRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "service type",
                    "enum": [
                        "VPWS",
                        "VPWS_FXC"
                    ]
                },
                "localServiceId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "service ID of locally connected CE"
                },
                "remoteServiceId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "service ID of remote connected CE"
                },
                "l2mtu": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute sets the MTU for an Instance. By default, the value is set to 1500."
                },
                "controlWord": {
                    "type": "boolean",
                    "description": "The attribute enables or disables the control-word for an Instance.By default, the value is true.",
                    "default": false
                },
                "operationalState": {
                    "type": "string",
                    "description": "state of EVPN Instance",
                    "enum": [
                        "UP",
                        "DOWN"
                    ]
                }
            }
        },
        "ExplicitRouteGroupRO": {
            "type": "object",
            "properties": {
                "groupType": {
                    "type": "string",
                    "description": "The resource type",
                    "enum": [
                        "INCLUSION",
                        "EXCLUSION"
                    ]
                }
            }
        },
        "ExternalRoutePackageRO": {
            "type": "object",
            "properties": {
                "staticRoute": {
                    "$ref": "#/definitions/StaticRouteRO"
                }
            }
        },
        "FbProfileRO": {
            "type": "object",
            "properties": {
                "profileName": {
                    "type": "string",
                    "description": "The profile name associated with this set of Fb attributes"
                },
                "index": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Index count of profile"
                },
                "associatedInterfaces": {
                    "type": "array",
                    "description": "List of IP interfaces this FB profile is associated with",
                    "items": {
                        "type": "string"
                    }
                },
                "nodesShareSrlg": {
                    "type": "array",
                    "description": "List of srlg that represents sharable srlg for source node of IP interfaces this fb profile is protecting",
                    "items": {
                        "type": "string"
                    }
                },
                "linksShareSrlg": {
                    "type": "array",
                    "description": "List of srlg that represents sharable srlg for source and remote nodes of IP interfaces this fb profile is protecting",
                    "items": {
                        "type": "string"
                    }
                },
                "srlgMode": {
                    "type": "string",
                    "description": "Represents if srlg needs to be considered in path computation by CP",
                    "enum": [
                        "maximal",
                        "strict",
                        "ignore"
                    ]
                }
            }
        },
        "FeaturesRO": {
            "type": "object",
            "properties": {
                "feature": {
                    "type": "string",
                    "description": "Feature name"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "True when the feature is enabled. otherwise false",
                    "default": false
                }
            }
        },
        "FiberDetailsRO": {
            "type": "object",
            "properties": {
                "fiberType": {
                    "type": "string",
                    "description": "Fiber type"
                },
                "launchCoefficient": {
                    "type": "string",
                    "description": "Launch coefficient"
                },
                "dispersion": {
                    "type": "string",
                    "description": "Dispersion value"
                },
                "effectiveArea": {
                    "type": "string",
                    "description": "Effective area"
                },
                "profileType": {
                    "type": "string",
                    "description": "Fiber profile type"
                },
                "pFibData": {
                    "type": "array",
                    "description": "Pfib details for the fiber.",
                    "items": {
                        "$ref": "#/definitions/PFibDataRO"
                    }
                }
            }
        },
        "FlexePackageRO": {
            "type": "object",
            "properties": {
                "groupId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "FlexE group number associated to the FlexE group"
                },
                "groupName": {
                    "type": "string",
                    "description": "Name for FlexE group"
                },
                "calendarSlotGranularity": {
                    "type": "string",
                    "description": "The granularity of calendar slot is 5G or 25G"
                },
                "phyType": {
                    "type": "string",
                    "description": "Type of PHY used in the FlexE group, such as 50/100/200/400GBASE-R. All PHYs in a FlexE group should be of same type"
                },
                "activeCalendar": {
                    "type": "string",
                    "description": "Calendar configuration used by the FlexE group in FlexE Mux/Demux"
                },
                "calendarProtocol": {
                    "type": "string",
                    "description": "Whether calendar negotiation protocol is enabled or not",
                    "enum": [
                        "enabled",
                        "disabled"
                    ]
                },
                "overheadStatus": {
                    "type": "array",
                    "description": "List of overhead status conditions in the FlexE group",
                    "items": {
                        "type": "string"
                    }
                },
                "misconfigurations": {
                    "type": "array",
                    "description": "List of misconfigurations in the FlexE group",
                    "items": {
                        "type": "string"
                    }
                },
                "calendarChannelDetails": {
                    "description": "This package stores the calendar and channel details for the FlexE group",
                    "$ref": "#/definitions/CalendarChannelDetailsRO"
                },
                "totalSlots": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of slots in FlexE group"
                },
                "allocatedSlots": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of slots in use by FlexE channels associated to FlexE group"
                },
                "availableSlots": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of slots available in active calendar of FlexE group"
                },
                "bandwidth": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                }
            }
        },
        "FreAttributesRO": {
            "type": "object",
            "properties": {
                "operationState": {
                    "type": "string",
                    "description": "Represents the total traffic carrying capability of the FRE. Relates to flow of traffic across the FRE between endpoints.",
                    "enum": [
                        "FULLY_OPERATING",
                        "NOT_OPERATING",
                        "DEGRADED_OPERATION",
                        "NOT_APPLICABLE",
                        "UNDETERMINED",
                        "IN_SERVICE",
                        "DEGRADED",
                        "OUT_OF_SERVICE_EXTERNAL",
                        "OUT_OF_SERVICE"
                    ]
                },
                "deploymentState": {
                    "type": "string",
                    "description": "Represents the stage that the FRE is at in the construction/deployment/discovery life cycle",
                    "enum": [
                        "SCHEDULED",
                        "NOT_PRESENT_IN_NETWORK",
                        "DEPLOYMENT_IN_PROGRESS",
                        "PROVISIONED",
                        "INCOMPLETE_DEPLOYMENT",
                        "DEPLOYED",
                        "COMPLETE_IN_NETWORK",
                        "INCOMPLETE_PARTIAL",
                        "INCOMPLETE_PARTIAL_IN_CONFLICT",
                        "INCOMPLETE_READY_BEST_EFFORT",
                        "UNDEPLOYMENT_IN_PROGRESS",
                        "INCOMPLETE_UNDEPLOYMENT",
                        "DISCOVERED",
                        "MODIFYING",
                        "MODIFICATION_FAILED"
                    ]
                },
                "intentLifeCycle": {
                    "type": "string",
                    "description": "Represents the Intent LifeCycle owned by IFD",
                    "enum": [
                        "SCHEDULED",
                        "DEPLOYMENT_IN_PROGRESS",
                        "PROVISIONED",
                        "INCOMPLETE_DEPLOYMENT",
                        "UNDEPLOYMENT_IN_PROGRESS",
                        "INCOMPLETE_UNDEPLOYMENT",
                        "COMPLETE_IN_NETWORK",
                        "MODIFYING",
                        "MODIFICATION_FAILED"
                    ]
                },
                "deploymentStatusSummary": {
                    "type": "string",
                    "description": "Owned by SMO. Set through REST to to indicate status summary of the service in the service move workflow"
                },
                "deploymentStatusDetails": {
                    "type": "string",
                    "description": "Owned by SMO. Set through REST to to indicate status details of the service in the service move workflow"
                },
                "isNonControllerBasedServiceOnHome": {
                    "type": "boolean",
                    "description": "An indicator if the FRE is onHome.  Currently used by SMO.",
                    "default": false
                },
                "discrepancyState": {
                    "type": "string",
                    "description": "Represents the comparison of planned and discovered data for an FRE",
                    "enum": [
                        "MATCH",
                        "MISMATCH",
                        "CHILD_CONFLICT"
                    ]
                },
                "deploymentStateDependents": {
                    "type": "string",
                    "description": "Represents rolled deployment state of the immediate children",
                    "enum": [
                        "COMPLETE_IN_NETWORK",
                        "INCOMPLETE_PARTIAL",
                        "INCOMPLETE_PARTIAL_IN_CONFLICT"
                    ]
                },
                "userData": {
                    "description": "User data",
                    "$ref": "#/definitions/UserDataRO"
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "derivedAttributes": {
                    "description": "Attributes that have been derived from other attributes and need to be stored",
                    "$ref": "#/definitions/FreDerivedAttributesRO"
                },
                "serviceRate": {
                    "type": "string",
                    "description": "The service rate of the ODUFLEX FRE"
                },
                "oduFlexPackage": {
                    "description": "This package stores odu flex related attribute information.",
                    "$ref": "#/definitions/OduFlexPackageRO"
                },
                "displayData": {
                    "$ref": "#/definitions/FreDisplayDataRO"
                },
                "utilizationData": {
                    "description": "Package that holds the UtilizationData",
                    "$ref": "#/definitions/UtilizationDataRO"
                },
                "resourceState": {
                    "type": "string",
                    "description": "Nsi Resource State.",
                    "enum": [
                        "root",
                        "planned",
                        "discovered",
                        "plannedAndDiscovered",
                        "unknown"
                    ]
                },
                "note": {
                    "$ref": "#/definitions/NoteRO"
                },
                "bookingData": {
                    "description": "Bandwidth booking data",
                    "$ref": "#/definitions/BookingDataRO"
                },
                "policies": {
                    "description": "Policies for attributes.",
                    "$ref": "#/definitions/AttributePoliciesRO"
                },
                "customerName": {
                    "type": "string",
                    "description": "The name of the customer for the fre."
                },
                "serviceClass": {
                    "type": "string",
                    "description": "Represents the type of FRE service",
                    "enum": [
                        "EVC",
                        "E_TRANSIT",
                        "E_ACCESS",
                        "VLAN",
                        "TDM",
                        "PSEUDOWIRE_LINK",
                        "TRANSPORT_CLIENT",
                        "PHOTONIC",
                        "TUNNEL",
                        "IP",
                        "LLDP",
                        "LAG",
                        "OTU",
                        "OSRP_LINK",
                        "OSRP_LINE",
                        "ROADM_LINE",
                        "OMS",
                        "FIBER",
                        "SNC",
                        "SNCP",
                        "ICL",
                        "RING",
                        "BGP_SESSION",
                        "EMBEDDED_ETHERNET_LINK",
                        "L_3_VPN",
                        "OT_SI",
                        "MEDIA",
                        "FLEXE_GROUP",
                        "FLEXE_LINK",
                        "FLEX_E",
                        "PATH",
                        "EVPN_VPWS"
                    ]
                },
                "lqsData": {
                    "$ref": "#/definitions/LqsDataRO"
                },
                "restorationHealth": {
                    "$ref": "#/definitions/RestorationHealthRO"
                },
                "stitchingTriggers": {
                    "$ref": "#/definitions/StitchingTriggersRO"
                },
                "bandwidthTriggers": {
                    "$ref": "#/definitions/BandwidthTriggersRO"
                },
                "tags": {
                    "type": "array",
                    "description": "A set of tags for a given fre.",
                    "items": {
                        "type": "string"
                    }
                },
                "linkLabel": {
                    "type": "string",
                    "description": "A Label for OTU links"
                },
                "serviceLabel": {
                    "type": "string",
                    "description": "A Label for Transport Clients of format SRC_NE:PORT1,DEST_NE:PORT2"
                },
                "relatedType": {
                    "type": "string",
                    "description": "The Type of Relation"
                },
                "referencedByAssociations": {
                    "type": "array",
                    "description": "A list of associations of fres that would refer to this fre",
                    "items": {
                        "$ref": "#/definitions/AssociationRO"
                    }
                },
                "lastUpdatedAdminStateTimeStamp": {
                    "type": "string",
                    "description": "TimeStamp when the adminState was last changed"
                },
                "lastUpdatedOperationalStateTimeStamp": {
                    "type": "string",
                    "description": "TimeStamp when the operation state was last changed"
                },
                "serviceRefresh": {
                    "$ref": "#/definitions/ServiceRefreshRO"
                },
                "lastSyncTimeStamp": {
                    "type": "string",
                    "description": "TimeStamp when the service was last synched"
                },
                "userLabel": {
                    "type": "string",
                    "description": "The label given to the FRE by an user"
                },
                "mgmtName": {
                    "type": "string",
                    "description": "The name given to the FRE on the NE where applicable (e.g. VS name for SAOS based devices)"
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the FRE that is native to the network element"
                },
                "awarenessTime": {
                    "type": "string",
                    "description": "The awareness time provided by Stitcher"
                },
                "originEventTime": {
                    "type": "string",
                    "description": "The origin event time provided by RA for nodal FREs"
                },
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "supportedByLayerRatePackageList": {
                    "type": "array",
                    "description": "Optional package. Indicates LayerRate and LayerRateQualifier",
                    "items": {
                        "$ref": "#/definitions/SupportedByLayerRatePackageRO"
                    }
                },
                "serviceClassQualifier": {
                    "type": "string",
                    "description": "Represents the visibility of FRE service",
                    "enum": [
                        "VISIBLE",
                        "HIDDEN"
                    ]
                },
                "multiHighestStackLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "internalStructure": {
                    "type": "string",
                    "description": "Visible abstraction of the internal structure of the FRE",
                    "enum": [
                        "SIMPLE",
                        "SIMPLE_SWITCHED",
                        "PROTECTED_ONE_END",
                        "MULTI_SIMPLE",
                        "MULTIPLE",
                        "PROTECTED_BOTH_ENDS",
                        "MULTIPOINT",
                        "HUB_AND_SPOKE",
                        "EXPLICIT",
                        "INTERCONNECT_ONE_END",
                        "INTERCONNECT_BOTH_ENDS",
                        "DUAL_HOMED_ONE_END",
                        "DUAL_HOMED_BOTH_ENDS",
                        "MULTIPOINT_DC",
                        "FULL_MESH",
                        "PARTIAL_MESH",
                        "UNKNOWN",
                        "MULTI_HOMED_ONE_END",
                        "MULTI_HOMED_BOTH_END",
                        "HVPLS"
                    ]
                },
                "networkRole": {
                    "type": "string",
                    "description": "Determines if the FRE participates in an internal or external forwarding view or involves access points or connection points",
                    "enum": [
                        "IFRE",
                        "FREAP",
                        "FREhAP",
                        "ROADMLINE",
                        "IFRECP",
                        "EFRE"
                    ]
                },
                "directionality": {
                    "type": "string",
                    "description": "Indicates if the FRE is unidirectional or bidirectional",
                    "enum": [
                        "unidirectional",
                        "bidirectional"
                    ]
                },
                "topologySources": {
                    "type": "array",
                    "description": "Source of topology",
                    "items": {
                        "type": "string",
                        "enum": [
                            "discovered",
                            "adjacency",
                            "stitched",
                            "connection_rule",
                            "connection_rule_nodal",
                            "backpropagated",
                            "connection_rule_snc",
                            "connection_rule_sncp",
                            "manual",
                            "retained",
                            "connection_rule_aps"
                        ]
                    }
                },
                "state": {
                    "type": "string",
                    "description": "TO BE REMOVED. Use adminState.",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AUMA"
                    ]
                },
                "adminState": {
                    "type": "string",
                    "description": "Indicates the administrative state of the FRE, including whether traffic has been enabled and whether the FRE should be used by clients. It is derived from the state(s) of terminating TPE(s). Disabled means that FRE is prevented from carrying traffic. Enabled means that FRE is allowed to carry traffic.",
                    "enum": [
                        "ENABLED",
                        "DISABLED",
                        "NOT_APPLICABLE",
                        "IN_SERVICE",
                        "OUT_OF_SERVICE"
                    ]
                },
                "controlActivityState": {
                    "type": "string",
                    "description": "Represents the state of management activity being performed against this FRE.",
                    "enum": [
                        "NONE",
                        "ACTIVATING",
                        "DEACTIVATING",
                        "IDLE",
                        "PENDING",
                        "MODIFYING",
                        "FAILING",
                        "DEGRADED"
                    ]
                },
                "signalContentType": {
                    "type": "string",
                    "description": "Represents whether the FRE is of VLAN/VCE type for L2 devices"
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRuleRO"
                },
                "photonicSpectrumPackage": {
                    "description": "This package stores photonic spectrum information.",
                    "$ref": "#/definitions/PhotonicSpectrumPackageRO"
                },
                "photonicSpectrumPackageList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PhotonicSpectrumPackageRO"
                    }
                },
                "cfmPackages": {
                    "type": "array",
                    "description": "Holds data related to CFM services configured on an Ethernet service",
                    "items": {
                        "$ref": "#/definitions/FreCfmPackageRO"
                    }
                },
                "segmentId": {
                    "type": "string",
                    "description": "The segment ID associated with this FRE."
                },
                "mplsPackage": {
                    "description": "This package stores MPLS tunnel information.",
                    "$ref": "#/definitions/MplsPackageRO"
                },
                "freType": {
                    "type": "string",
                    "description": "The sub type of FRE",
                    "enum": [
                        "explicitRoute",
                        "explicitRouteGroup",
                        "cascadedExplicitRoute",
                        "snc",
                        "sncGroup",
                        "regen",
                        "route",
                        "resilientConfig",
                        "osrpLine",
                        "osrpLink",
                        "sncp",
                        "eline",
                        "elan",
                        "etree",
                        "dropAndContinue",
                        "explicitRouteInstance",
                        "omsCutThroughRegen",
                        "l3vpn",
                        "cascadedExplicitRouteInstance",
                        "staticRoute",
                        "eBgpSession",
                        "vpws"
                    ]
                },
                "routingConstraints": {
                    "$ref": "#/definitions/RoutingConstraintsRO"
                },
                "maxReservableBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedBandwidthRO"
                    }
                },
                "nonPlannedUsedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedBandwidthRO"
                    }
                },
                "explicitRouteGroup": {
                    "description": "Explicit Route Group",
                    "$ref": "#/definitions/ExplicitRouteGroupRO"
                },
                "active": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE is active, or simply a potential.",
                    "default": false
                },
                "controlPlanePackage": {
                    "$ref": "#/definitions/ControlPlanePackageRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition this fre belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "syncScopes": {
                    "type": "array",
                    "description": "The sync scope for the FRE",
                    "items": {
                        "$ref": "#/definitions/SyncScopeRO"
                    }
                },
                "provisioningAttributes": {
                    "description": "Indicates attributes that are used solely in the provisioning workflow. These attributes would not be reported on discovery, but aid in the provisioning workflow.",
                    "$ref": "#/definitions/ProvisioningAttributesRO"
                },
                "stitchingFloorActive": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE should not have stitched client FREs.",
                    "default": false
                },
                "reliability": {
                    "type": "string",
                    "description": "Stitcher attribute to set reliability on FRE",
                    "enum": [
                        "MANUAL",
                        "AUTO"
                    ]
                },
                "isInConflict": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE is in conflict with other FREs.",
                    "default": false
                },
                "isStandaloneFre": {
                    "type": "boolean",
                    "description": "An indicator that no fre is stitched over PHY layer.",
                    "default": false
                },
                "description": {
                    "type": "string",
                    "description": "String to store description field on service"
                },
                "resiliencyHandlingPackage": {
                    "type": "array",
                    "description": " triggers stitcher building resiliency view and NSI updating layerRate in resiliency view",
                    "items": {
                        "$ref": "#/definitions/ResiliencyHandlingPackageRO"
                    }
                },
                "resiliencyPackage": {
                    "description": "The fre resiliency package contains attributes only appear in resiliency view.",
                    "$ref": "#/definitions/FreResiliencyPackageRO"
                },
                "adminWt": {
                    "type": "number",
                    "format": "double",
                    "description": "Administrative weight which specifies the level of importance given to the OSRP link"
                },
                "bundleIds": {
                    "type": "array",
                    "description": "List of up to 20 protection bundles to which the OSRP link belongs",
                    "items": {
                        "type": "string"
                    }
                },
                "latency": {
                    "type": "number",
                    "format": "double",
                    "description": "Indicates the delay in microseconds."
                },
                "domainTypes": {
                    "type": "array",
                    "description": "List of domains/protection scheme this FRE is included in.",
                    "items": {
                        "type": "string"
                    }
                },
                "resilienceLevel": {
                    "type": "string",
                    "description": "Indicates the general level of resiliency under this given FRE.",
                    "enum": [
                        "UNPROTECTED",
                        "PARTIAL",
                        "PROTECTED",
                        "PROTECTED_IN_JEOPARDY"
                    ]
                },
                "retainedMaxReservableBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared SRLGs of this FRE.",
                    "items": {
                        "type": "string"
                    }
                },
                "resiliencyTopologyPackage": {
                    "description": "This package stores resiliency topology information.",
                    "$ref": "#/definitions/ResiliencyTopologyPackageRO"
                },
                "bgpPackage": {
                    "description": "This package stores BGP information.",
                    "$ref": "#/definitions/FreBgpPackageRO"
                },
                "gneSubnetName": {
                    "type": "string",
                    "description": "The GNE Subnet Name of the FRE"
                },
                "groupPackage": {
                    "description": "Group Package",
                    "$ref": "#/definitions/GroupPackageRO"
                },
                "txInfo": {
                    "type": "array",
                    "description": "TxInfo for FRE",
                    "items": {
                        "$ref": "#/definitions/TxInfoRO"
                    }
                },
                "vrfPackage": {
                    "description": "Package that holds Virtual Routing and Forwarding data",
                    "$ref": "#/definitions/FreVrfPackageRO"
                },
                "remoteOSRPNodeName": {
                    "type": "string",
                    "description": " Destination OSRP node name"
                },
                "otdrPackage": {
                    "description": "Otdr Package",
                    "$ref": "#/definitions/OtdrPackageRO"
                },
                "externalRoutePackage": {
                    "$ref": "#/definitions/ExternalRoutePackageRO"
                },
                "evpn": {
                    "description": "Package that holds Ethernet Virtual Private Network data",
                    "$ref": "#/definitions/EvpnRO"
                },
                "srTePolicyPackage": {
                    "description": "Package that holds SR-TE Policy Data",
                    "$ref": "#/definitions/FreSrTePolicyPackageRO"
                },
                "vpnPackage": {
                    "description": "Package that holds Vpn additional information",
                    "$ref": "#/definitions/VpnPackageRO"
                },
                "isSubmarineLink": {
                    "type": "boolean",
                    "description": "An indicator if the FRE is from submarine",
                    "default": false
                }
            }
        },
        "FreBgpPackageRO": {
            "type": "object",
            "properties": {
                "sessionType": {
                    "type": "string",
                    "description": "IBGP/EBGP depending on peerAs number is same as local or different.",
                    "enum": [
                        "IBGP",
                        "EBGP"
                    ]
                },
                "sessionState": {
                    "type": "string",
                    "description": "BGP states",
                    "enum": [
                        "IDLE",
                        "CONNECT",
                        "ACTIVE",
                        "OPENSENT",
                        "OPENCONFIRM",
                        "ESTABLISHED"
                    ]
                },
                "protocolVersion": {
                    "type": "string",
                    "description": "Lower of negotiatedBgpVersion reported on both BGP CTP's."
                }
            }
        },
        "FreCfmPackageRO": {
            "type": "object",
            "properties": {
                "cfmServiceName": {
                    "type": "string",
                    "description": "The name of the CFM service"
                },
                "ccmPriority": {
                    "type": "string",
                    "description": "Priority of the CC messages (0-7)"
                },
                "ccmTransmitState": {
                    "type": "string",
                    "description": "The transmission state of CCM (on/off)",
                    "enum": [
                        "ON",
                        "OFF",
                        "PARTIAL"
                    ]
                },
                "ccmInterval": {
                    "type": "string",
                    "description": "The interval between transmitting each message (e.g.: 1)"
                },
                "ccmIntervalUnit": {
                    "type": "string",
                    "description": "The unit of interval between transmitting each message (e.g.: seconds)"
                },
                "cfmAdminState": {
                    "type": "string",
                    "description": "The administrative state (enabled/disabled/partial)",
                    "enum": [
                        "ENABLED",
                        "DISABLED",
                        "PARTIAL"
                    ]
                },
                "cfmOperState": {
                    "type": "string",
                    "description": "The operational state (enabled/disabled/partial)",
                    "enum": [
                        "ENABLED",
                        "DISABLED",
                        "PARTIAL"
                    ]
                },
                "maName": {
                    "type": "string",
                    "description": "The name of the maintenance association"
                },
                "maFormat": {
                    "type": "string",
                    "description": "The format of the maintenance association name"
                },
                "mdName": {
                    "type": "string",
                    "description": "The name of the maintenance domain"
                },
                "mdFormat": {
                    "type": "string",
                    "description": "The format of the maintenance domain name"
                },
                "mdLevel": {
                    "type": "string",
                    "description": "The level of the maintenance domain (0-7)"
                },
                "megId": {
                    "type": "string",
                    "description": "The ID of the maintenance entity group"
                },
                "alarmPriority": {
                    "type": "string",
                    "description": "The priority of the cfm alarm (1-5)"
                },
                "alarmTime": {
                    "type": "string",
                    "description": "The cfm alarm time"
                },
                "alarmTimeUnit": {
                    "type": "string",
                    "description": "The unit of cfm alarm time, default is milliseconds"
                },
                "remoteMepAging": {
                    "type": "string",
                    "description": "Cfm remote mep aging (on/off)",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "remoteMepAgingTime": {
                    "type": "string",
                    "description": "Cfm remote mep aging time"
                },
                "remoteMepAgingTimeUnit": {
                    "type": "string",
                    "description": "The unit of cfm remote mep aging time, default is milliseconds"
                },
                "dmmState": {
                    "type": "string",
                    "description": "DMM Measurement State (enabled/disabled/partial)",
                    "enum": [
                        "ENABLED",
                        "DISABLED",
                        "PARTIAL"
                    ]
                },
                "slmState": {
                    "type": "string",
                    "description": "SLM Measurement State (enabled/disabled/partial)",
                    "enum": [
                        "ENABLED",
                        "DISABLED",
                        "PARTIAL"
                    ]
                }
            }
        },
        "FreDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the FRE resource"
                },
                "type": {
                    "type": "string",
                    "description": "The FRE resource type",
                    "enum": [
                        "fres",
                        "relatedFres"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/FreAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/FreRelationshipsRO"
                }
            }
        },
        "FreDerivedAttributesRO": {
            "type": "object",
            "properties": {
                "intentLifeCyclePhase": {
                    "type": "string",
                    "description": "Represents the intent life cycle stage that the FRE is at in the construction/deployment/discovery life cycle",
                    "enum": [
                        "WAITING_TO_DEPLOY",
                        "DEPLOYING",
                        "ASSURING",
                        "RETIRING",
                        "ADOPTING_DISCOVERED"
                    ]
                },
                "intentDeploymentState": {
                    "type": "string",
                    "description": "Represents the intent deployment stage that the FRE is at in the construction/deployment/discovery life cycle",
                    "enum": [
                        "READY_TO_DEPLOY",
                        "DEPLOYMENT_IN_PROGRESS",
                        "INCOMPLETE_DEPLOYMENT",
                        "COMPLETE_FULLY_READY",
                        "INCOMPLETE_NOT_READY",
                        "INCOMPLETE_NOT_READY_CONFLICT",
                        "INCOMPLETE_READY_BEST_EFFORT",
                        "UNDEPLOYMENT_IN_PROGRESS",
                        "INCOMPLETE_UNDEPLOYMENT",
                        "WAITING_TO_ADOPT"
                    ]
                }
            }
        },
        "FreDisplayDataRO": {
            "type": "object",
            "properties": {
                "intentLifeCyclePhaseString": {
                    "type": "string",
                    "description": "Represents the different phases of the service intent through its life cycle",
                    "enum": [
                        "SCHEDULED",
                        "DEPLOYING",
                        "DEPLOYED",
                        "DELETING",
                        "DISCOVERED"
                    ]
                },
                "intentDeploymentStateString": {
                    "type": "string",
                    "description": "Represents the deployment state of the service intent through its life cycle",
                    "enum": [
                        "NOT_APPLICABLE",
                        "IN_PROGRESS",
                        "MONITORING",
                        "FAILED",
                        "IN_THE_NETWORK",
                        "NETWORK_MISMATCH_DETECTED",
                        "PROPERTY_MISMATCH"
                    ]
                },
                "frequency": {
                    "type": "string",
                    "description": "The frequency value for one of the underlying Endpoints"
                },
                "wavelength": {
                    "type": "string",
                    "description": "The corresponding wavelength value for the frequency attribute"
                },
                "channel": {
                    "type": "string",
                    "description": "The corresponding channel number for the frequency attribute"
                },
                "sncgUserlabel": {
                    "type": "string",
                    "description": "For ControlPlane SNCs only, the userlabel of the parent SNC group"
                },
                "operationState": {
                    "type": "string",
                    "description": "Represents the total traffic carrying capability of the FRE. Relates to flow of traffic across the FRE between endpoints."
                },
                "adminState": {
                    "type": "string",
                    "description": "Indicates the administrative state of the FRE, including whether traffic has been enabled and whether the FRE should be used by clients. It is derived from the state(s) of terminating TPE(s). Disabled means that FRE is prevented from carrying traffic. Enabled means that FRE is allowed to carry traffic."
                },
                "displayTopologySource": {
                    "type": "string",
                    "description": "The source of the FRE"
                },
                "displayPhotonicSpectrumData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FreDisplayPhotonicSpectrumDataRO"
                    }
                },
                "displayResiliencyControllerData": {
                    "$ref": "#/definitions/FreDisplayResiliencyControllerDataRO"
                },
                "displayDeploymentState": {
                    "type": "string",
                    "description": "Represents the stage that the FRE is at in the construction/deployment/discovery life cycle",
                    "enum": [
                        "SCHEDULED",
                        "NETWORK_MISMATCH_DETECTED",
                        "PROPERTY_MISMATCH",
                        "DEPLOYED",
                        "DISCOVERED",
                        "DEPLOYING",
                        "MONITORING",
                        "DEPLOYMENT_FAILED",
                        "DELETING",
                        "DELETE_FAILED",
                        "MODIFYING",
                        "MODIFICATION_FAILED"
                    ]
                },
                "remoteOSRPNodeName": {
                    "type": "string",
                    "description": "Destination OSRP node name"
                },
                "headOSRPNodeName": {
                    "type": "string",
                    "description": "Head OSRP node name"
                },
                "isDTLSetUsedAsRoutingConstraint": {
                    "type": "boolean",
                    "description": "Flags whether DTLSet FREs are reserved on the basis of whether they are referenced by an snc/sncg or not",
                    "default": false
                },
                "displayName": {
                    "type": "string",
                    "description": "Display name of the FRE"
                },
                "displayServerRefreshState": {
                    "type": "string",
                    "description": "Enumeration of the various SNC refresh life cycle states",
                    "enum": [
                        "PENDING",
                        "CALCULATING",
                        "PROVISIONING",
                        "FAILED",
                        "NOT_APPLICABLE"
                    ]
                }
            }
        },
        "FreDisplayPhotonicSpectrumDataRO": {
            "type": "object",
            "properties": {
                "frequency": {
                    "type": "string",
                    "description": "The frequency value for one of the underlying Endpoints"
                },
                "wavelength": {
                    "type": "string",
                    "description": "The corresponding wavelength value for the frequency attribute"
                },
                "channel": {
                    "type": "string",
                    "description": "The corresponding channel number for the frequency attribute"
                }
            }
        },
        "FreDisplayResiliencyControllerDataRO": {
            "type": "object",
            "properties": {
                "recoverCharacteristics_onHome": {
                    "type": "string",
                    "description": "Flag indicating if currently on the home path",
                    "enum": [
                        "ACTIVE",
                        "NOT_ACTIVE"
                    ]
                }
            }
        },
        "FreListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "description": "An array of FREs",
                    "items": {
                        "$ref": "#/definitions/FreDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to a FRE, such as EndPointData, TpeData, FreExpectationData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "FreRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "$ref": "#/definitions/FreDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to a FRE, such as FreData, EndPointData, TpeData, EquipmentData, EquipmentHolderData, FrePlannedData, FreExpectationData, FreDiscoveredData, ResiliencyControllerData, EncapsulatedResiliencyData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "FreRelationshipsRO": {
            "type": "object",
            "properties": {
                "frePlanned": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "freExpectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "freDiscovered": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "abstracts": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "fre": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "relatedToFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "supportedByServices": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "abstractServices": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "endPoints": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partitionFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "decomposedFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "freSwitch": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partitionFreAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "resiliencyController": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "encapsulatedResiliency": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "freSwitchList": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstructAssociation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "groups": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "configurationAndSwitchControl": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "partitioningFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "composingFre": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "decomposedFreAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concreteAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "utilization": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "FreResiliencyPackageRO": {
            "type": "object",
            "properties": {
                "role": {
                    "type": "string",
                    "description": "the role of the fre",
                    "enum": [
                        "Working",
                        "Protecting"
                    ]
                }
            }
        },
        "FreSearchParamsRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Comma separated list of FRE identifiers to retrieve"
                },
                "searchText": {
                    "type": "string",
                    "description": "The searchable text, (default search Fields are name, layerRate, tpeLocations if searchFields is not specified.)"
                },
                "searchFields": {
                    "type": "string",
                    "description": "List of comma separated fields to search with, combined with searchText. Fields require full path (i.e. data.attributes.field)"
                },
                "resourceState": {
                    "type": "string",
                    "description": "List of fre planning states. By default, if no value for this parameter is specified, root and unknown states are filtered out. The allowed values are: root, planned, discovered, plannedAndDiscovered, unknown\n\nDefault value: planned,discovered,plannedAndDiscovered2"
                },
                "layerRate": {
                    "type": "string",
                    "description": "FRE layer rates in comma separated list. The allowed values are: ETHERNET, OTU1, OTU2, OTU2e, OTU3, OTU4, OTUCn, OTSi, OMS, OS, PHY, OTS, FICON, FC, ODU, ODU0, ODU1, ODU2, ODU2e, ODU3, ODU4, ODUCn, DSR, DSR_10GE, DSR_100GE, DSR_ETHERNET, ENCAPSULATION, MPLS, MPLS_PROTECTION, MEDIA, LAG, RS, E1, E3, E1_2M, EC1, DSR_2M, LINE_OC3_STS3_AND_MS_STM1, SECTION_OC3_STS3_AND_RS_STM1, DSR_OC3_STM1, DSR_OC12_STM4, DSR_OC48_STM16, DSR_OC192_STM64, CES_IWF, T1, DSR_1_5M, STS1, STS3C, STS12C, STS24C, STS48C, STS192C, DS0, DS1, DS3, VT15, VT2, NOT_APPLICABLE, ODUFLEX, OTUg, ODUg, BGP, FLEXE_GROUP, IP"
                },
                "networkConstruct.id": {
                    "type": "string",
                    "description": "Comma separated Network Construct identifier"
                },
                "networkConstruct.id.operator": {
                    "type": "string",
                    "description": "The logical operator to use when searching Network Construct identifiers"
                },
                "tpe.id": {
                    "type": "string",
                    "description": "Comma separated TPE identifier for endpoints"
                },
                "tpe.id.operator": {
                    "type": "string",
                    "description": "The logical operator to use when searching tpeIds"
                },
                "identifierKey": {
                    "type": "array",
                    "description": "List of comma separated keys for an identifer object",
                    "items": {
                        "type": "string"
                    }
                },
                "identifierValue": {
                    "type": "array",
                    "description": "List of comma separated values for an identifier object",
                    "items": {
                        "type": "string"
                    }
                },
                "concrete": {
                    "type": "string",
                    "description": "List of concrete FRE identifiers"
                },
                "modelType": {
                    "type": "string",
                    "description": "Parameter used to filter results"
                },
                "bookingData.lockout": {
                    "type": "string",
                    "description": "Flag that enables/disables a link from having additional tunnel BW being consumed"
                },
                "group": {
                    "type": "string",
                    "description": "FRE group :\n\ndwa for all FREs in OTU4 and all top level FREs in ETHERNET, DSR, DSR_ETHERNET, OTSi(OCH), ODU2, ODU4, ODUCn, OTUCn\ninfrastructure for all FRE-APs representing forwarding constructs between ROADM OTS’\npacket for all L2 nodal and top level FREs in ETHERNET including infrastructure"
                },
                "freType": {
                    "type": "string",
                    "description": "FRE types in comma separated list The allowed values are: explicitRoute, explicitRouteGroup, snc, sncGroup"
                },
                "userLabel": {
                    "type": "string",
                    "description": "User label"
                },
                "managementName": {
                    "type": "string",
                    "description": "Management Name"
                },
                "freExpectations.serviceIntent.id": {
                    "type": "string",
                    "description": "The service intent Id"
                },
                "freExpectations.equipmentIntent.id": {
                    "type": "string",
                    "description": "The equipment intent Id"
                },
                "freExpectations.intent.id": {
                    "type": "string",
                    "description": "The intent id"
                },
                "freExpectations.intent.type": {
                    "type": "string",
                    "description": "The intent type"
                },
                "signalContentType": {
                    "type": "string",
                    "description": "The identifier indicating type of parent to be returned. If specified, parent matching the criteria will be returned"
                },
                "srlg": {
                    "type": "string",
                    "description": "Find roadmlines by srlg values separated by comma. A roadmline is a FRE between two SAM cards."
                },
                "roadmLineId": {
                    "type": "string",
                    "description": "Find services configured over a roadmline based on the roadmline FRE identifier"
                },
                "endpoint.tpe.concrete": {
                    "type": "string",
                    "description": "Concrete TPE identifier for endpoints"
                },
                "deploymentState": {
                    "type": "string",
                    "description": "Parameter used to filter results"
                },
                "active": {
                    "type": "string",
                    "description": "The active state of the resource"
                },
                "directionality": {
                    "type": "string",
                    "description": "Indicates if unidirectional or bidirectional FREs should be returned"
                },
                "networkRole": {
                    "type": "string",
                    "description": "Determines if the FRE participates in an internal or external forwarding view or involves access points or connection points"
                },
                "type": {
                    "type": "string",
                    "description": "FRE types in comma separated list. The allowed values are: service, link, roadmline-ap, roadmline"
                },
                "serviceClass": {
                    "type": "string",
                    "description": "Allow filtering on the FRE service class. This parameter accepts a list of comma separated values. The allowed values are: EVC, ETransit, EAccess, VLAN, TDM, Transport Client, Photonic, Tunnel, IP, LLDP, LAG, OTU, ROADM Line, Fiber, SNC , OSRP Link, OSRP Line, SNCP, ICL, Ring, FlexeLink, FlexeGroup, L3VPN"
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "Indicates additional qualification information for a LayerRate. For example, for beyond 100G rates (e.g. OTUCn, ODUCn), defines the n multiplier, or the n-M subrate value."
                },
                "serviceRate": {
                    "type": "string",
                    "description": "The service rate of the ODUFLEX FRE"
                },
                "supportedByFreId": {
                    "type": "string",
                    "description": "Retrieves all supported parent FREs (default is one serviceClass/layer level up) that have a serviceClass designation for the specified FRE Id"
                },
                "supportedByQualifier": {
                    "type": "string",
                    "description": "Used in conjunction with supportedByFreId and controls if only one-level (default) or all parent FREs with a serviceClass are returned"
                },
                "supportingFreId": {
                    "type": "string",
                    "description": "Retrieves all supporting child FREs (one serviceClass/layer level down) that have a serviceClass designation for the specified FRE Id"
                },
                "customerName": {
                    "type": "string",
                    "description": "Search for an exact match on customerName"
                },
                "sncgUserlabel": {
                    "type": "string",
                    "description": "For Control Plane SNCs only: Retrieves all SNCs provided the parent SNCG userLabel"
                },
                "tunnelType": {
                    "type": "string",
                    "description": "Allow filtering on FRE Tunnel class service. This parameter accepts a list of comma separated values: dynamic, static"
                },
                "ringType": {
                    "type": "string",
                    "description": "Allow filtering on type of G8032 ring. This parameter accepts a list of comma separated values: majorRing, subRing\n\n"
                },
                "ringStatus": {
                    "type": "string",
                    "description": "Allow filtering on Status of G8032 ring. This parameter accepts a list of comma separated values: OK, Local signal failure, Local force switch, Remote signal failure, Remote force switch, Provisioning mismatch, Not receiving PDUs, No RPL owner detected, Unknown \n\n"
                },
                "ringState": {
                    "type": "string",
                    "description": "Allow filtering on State of G8032 ring. This parameter accepts a list of comma separated values: Initializing, OK, Admin disabled, Operational disabled, Protecting, Recovering, Manual switch, Force switch, Unknown \n\n"
                },
                "ringCompleteness": {
                    "type": "string",
                    "description": "Allow filtering on type of G8032 ring completeness. This parameter accepts a list of comma separated values: partial, complete"
                },
                "adminState": {
                    "type": "string",
                    "description": "Allow filtering on FRE adminState. This parameter accepts a list of comma separated values: enabled, disabled, not applicable, In Service, Out of Service"
                },
                "operationState": {
                    "type": "string",
                    "description": "Allow filtering on FRE operationState. This parameter accepts a list of comma separated values: fully operating, not operating, degraded operation, Not Applicable, Undetermined, In Service, Degraded, Out of Service External, Out of Service"
                },
                "lqsData.status": {
                    "type": "string",
                    "description": "Allow filtering on the LQS status. This parameter accepts a list of comma separated values"
                },
                "lqsData.margin.valid": {
                    "type": "string",
                    "description": "The LQS margin validity state"
                },
                "lqsData.fiber.reconciled": {
                    "type": "string",
                    "description": "The LQS fiber reconciled state"
                },
                "lqsData.fiber.method": {
                    "type": "string",
                    "description": "Allow filtering on the LQS fiber method. This parameter accepts a list of comma separated values"
                },
                "lqsData.fiber.deltaAvgToPlannedLoss": {
                    "type": "string",
                    "description": "The LQS fiber delta average to planned loss"
                },
                "lqsData.fiber.avgLoss": {
                    "type": "string",
                    "description": "The LQS fiber average loss"
                },
                "lqsData.fiber.lastCalculationTime": {
                    "type": "string",
                    "description": "The LQS fiber last loss calculation time"
                },
                "lqsData.fiber.avgLossStatus": {
                    "type": "string",
                    "description": "The LQS fiber average loss status"
                },
                "lqsData.fiber.plannedLoss": {
                    "type": "string",
                    "description": "The LQS fiber planned loss"
                },
                "lqsData.fiber.plannedLossMargin": {
                    "type": "string",
                    "description": "The LQS fiber planned loss margin"
                },
                "lqsData.fiber.currentLoss": {
                    "type": "string",
                    "description": "The LQS fiber current loss"
                },
                "lqsData.fiber.currentLossTime": {
                    "type": "string",
                    "description": "The LQS fiber current loss time"
                },
                "lqsData.fiber.currentLossMethod": {
                    "type": "string",
                    "description": "The LQS fiber current loss method"
                },
                "lqsData.margin.viableAtEol": {
                    "type": "string",
                    "description": "A list of LQS margin viable at EOL states"
                },
                "lqsData.ppg.snrStatus": {
                    "type": "string",
                    "description": "A list of LQS PPG snr states"
                },
                "lqsData.ppg.categorySnrReference": {
                    "type": "string",
                    "description": "A list of LQS PPG category snr reference values"
                },
                "lqsData.ppg.deltaSnrReference": {
                    "type": "string",
                    "description": "A list of LQS PPG delta snr reference values"
                },
                "lqsData.ppg.startDeltaSnrReference": {
                    "type": "string",
                    "description": "Allow filtering on FRE lqsData ppg startDeltaSnrReference"
                },
                "lqsData.ppg.endDeltaSnrReference": {
                    "type": "string",
                    "description": "Allow filtering on FRE lqsData ppg endDeltaSnrReference"
                },
                "restorationHealth.totalExplicitRoutes": {
                    "type": "string",
                    "description": "Allow filtering on FRE restorationHealth totalExplicitRoutes"
                },
                "restorationHealth.availableExplicitRoutes": {
                    "type": "string",
                    "description": "Allow filtering on FRE restorationHealth availableExplicitRoutes"
                },
                "restorationHealth.unavailableExplicitRoutes": {
                    "type": "string",
                    "description": "Allow filtering on FRE restorationHealth unavailableExplicitRoutes"
                },
                "restorationHealth.availablePercentage": {
                    "type": "string",
                    "description": "Allow filtering on FRE restorationHealth availablePercentage"
                },
                "restorationHealth.unavailablePercentage": {
                    "type": "string",
                    "description": "Allow filtering on FRE restorationHealth unavailablePercentage"
                },
                "restorationHealth.homeAvailable": {
                    "type": "boolean",
                    "description": "Allow filtering on FRE restorationHealth homeAvailable",
                    "default": false
                },
                "restorationHealth.startAvailablePercentage": {
                    "type": "string",
                    "description": "Allow filtering on FRE restorationHealth startAvailablePercentage"
                },
                "restorationHealth.endAvailablePercentage": {
                    "type": "string",
                    "description": "Allow filtering on FRE restorationHealth endAvailablePercentage"
                },
                "utilizationData.totalCapacity": {
                    "type": "string",
                    "description": "Allow filtering on FRE utilizationData totalCapacity"
                },
                "utilizationData.usedCapacity": {
                    "type": "string",
                    "description": "Allow filtering on FRE utilizationData usedCapacity"
                },
                "utilizationData.utilizationPercent": {
                    "type": "string",
                    "description": "Allow filtering on FRE utilizationData utilizationPercent"
                },
                "utilizationData.startUtilizationPercent": {
                    "type": "string",
                    "description": "Allow filtering on FRE utilizationData startUtilizationPercent"
                },
                "utilizationData.endUtilizationPercent": {
                    "type": "string",
                    "description": "Allow filtering on FRE utilizationData endUtilizationPercent"
                },
                "utilizationData.capacityUnits": {
                    "type": "string",
                    "description": "Allow filtering on FRE utilizationData capacityUnits"
                },
                "coroutedFreId": {
                    "type": "string",
                    "description": "Retrieves all correlated FREs that are co-routed and co-terminated with the specified FRE Id"
                },
                "tags": {
                    "type": "string",
                    "description": "Allow filtering on FRE tags. This parameter accepts a list of comma separated strings"
                },
                "displayAdminState": {
                    "type": "string",
                    "description": "Allow filtering on FRE adminState display string"
                },
                "displayOperationState": {
                    "type": "string",
                    "description": "Allow filtering on FRE operationState display string"
                },
                "displayTopologySource": {
                    "type": "string",
                    "description": "Allow filtering on FRE topologySource display string"
                },
                "displayRecoveryCharacteristicsOnHome": {
                    "type": "string",
                    "description": "Allow filtering on FRE resiliency controller recovery characteristics onHome display string"
                },
                "startDateMin": {
                    "type": "string",
                    "description": "Minimum value of startDate, format is: yyyy-MM-dd’T’HH:mm:ss.SSSZ"
                },
                "startDateMax": {
                    "type": "string",
                    "description": "Maximum value of startDate, format is: yyyy-MM-dd’T’HH:mm:ss.SSSZ"
                },
                "endDateMin": {
                    "type": "string",
                    "description": "Minimum value of endDate, format is: yyyy-MM-dd’T’HH:mm:ss.SSSZ"
                },
                "endDateMax": {
                    "type": "string",
                    "description": "Maximum value of endDate, format is: yyyy-MM-dd’T’HH:mm:ss.SSSZ"
                },
                "namedQuery": {
                    "type": "string",
                    "description": "Comma-separated named query id list; The allowed values are: resiliency, tdmServices, topologicalLinks, roadmLineSpan, reusableSNCG, tunnelReplacement, layer1OtuLinks, photonicSncpWorkLegs, relatedFresFull, relatedFresLight, ringsWithoutConstraints\n\ntunnelReplacement cannot be used in combination with other named queries\n\nphotonicSncpWorkLegs can not be used alone, networkConstruct.Id must be provided with this named query\n\nrelatedFresFull can not be used alone, namedQueryParam1 must be provided with this named query.\n\nrelatedFresLight can not be used alone, namedQueryParam1 must be provided with this named query."
                },
                "domainTypes": {
                    "type": "string",
                    "description": "Allow filtering on FRE domainTypes. This parameter accepts a list of comma separated values"
                },
                "resilienceLevel": {
                    "type": "string",
                    "description": "Allow filtering on FRE domainTypes. This parameter accepts a list of comma separated values: unprotected, partial, protected"
                },
                "partitionFreIds": {
                    "type": "string",
                    "description": "Retrieves all parent FREs that have the specified FRE as a partition relation"
                },
                "decomposedFreIds": {
                    "type": "string",
                    "description": "Retrieves all parent FREs that have the specified FRE as a decomposed relation"
                },
                "facilityBypass": {
                    "type": "string",
                    "description": "Allow filtering of FRE’s with facilityBypass tunnels"
                },
                "childFreId": {
                    "type": "string",
                    "description": "The child FRE identifier to return its parents"
                },
                "gneSubnetName": {
                    "type": "string",
                    "description": "GNE Subnet name of the FRE"
                },
                "routingConstraints.inclusionConstraints.id": {
                    "type": "string",
                    "description": "Retrieves all FREs that have an inclusion constraint relationship to the specified identifier"
                },
                "displayDeploymentState": {
                    "type": "string",
                    "description": "Allow filtering on FRE deploymentState display string"
                },
                "ncTags": {
                    "type": "string",
                    "description": "List of comma-separated network construct tags that is an endpoint for an FRE"
                },
                "namedQueryParam1": {
                    "type": "string",
                    "description": "Mandatory when namedQuery relatedFresFull/relatedFresLight is used. This parameter accepts a list of comma separated freIds"
                },
                "remoteOSRPNodeName": {
                    "type": "string"
                },
                "headOSRPNodeName": {
                    "type": "string"
                },
                "isUsedByService": {
                    "type": "boolean",
                    "default": false
                },
                "isDTLSetUsedAsRoutingConstraint": {
                    "type": "boolean",
                    "default": false
                },
                "isOtdrCapable": {
                    "type": "boolean",
                    "default": false
                },
                "sourceTraceType": {
                    "type": "string"
                },
                "sourceTraceTimestamp": {
                    "type": "string"
                },
                "destinationTraceType": {
                    "type": "string"
                },
                "destinationTraceTimestamp": {
                    "type": "string"
                },
                "sourceOtdrcfgaId": {
                    "type": "string"
                },
                "sourceNcId": {
                    "type": "string"
                },
                "destinationOtdrcfgaId": {
                    "type": "string"
                },
                "destinationNcId": {
                    "type": "string"
                },
                "isSubmarineLink": {
                    "type": "boolean",
                    "default": false
                },
                "displayName": {
                    "type": "string",
                    "description": "The FRE displayName"
                },
                "partitioningFreIds": {
                    "type": "string",
                    "description": "Retrieves all child FREs that have the specified FRE as a partitioning relation"
                },
                "internalStructure": {
                    "type": "string",
                    "description": "Allow filtering on the FRE Internal Structure class. This parameter accepts a list of comma separated values. "
                },
                "exportRouteTargets": {
                    "type": "array",
                    "description": "Set of export Route Target(s) associated with VRF(s)",
                    "items": {
                        "type": "string"
                    }
                },
                "importRouteTargets": {
                    "type": "array",
                    "description": "Set of import Route Target(s) associated with VRF(s)",
                    "items": {
                        "type": "string"
                    }
                },
                "filterType": {
                    "type": "string",
                    "description": "FilterType for distinguish search based on Export Route Target or Import Route Target. If filterType = both, then search on basis of export Route Target or import Route Target. If not filled, search work as same as before."
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the FRE that is native to the network element"
                },
                "signalingType": {
                    "type": "string",
                    "description": "Value of the Fre signaling type associated with FRE(s)"
                },
                "sourceEndPoint": {
                    "type": "string",
                    "description": "Value of the Fre source end point associated with FRE(s)"
                },
                "destEndPoint": {
                    "type": "string",
                    "description": "Value of the Fre destination end point associated with FRE(s)"
                },
                "bindingAllocatedSid": {
                    "type": "string",
                    "description": "Value of the Fre sr Te Binding Sid associated with FRE(s)"
                },
                "transportPolicy": {
                    "type": "string",
                    "description": "Value of the Fre transportPolicy type associated with FRE(s)"
                },
                "catalog": {
                    "type": "string",
                    "description": "Value of the Fre catalog associated with FRE(s)"
                },
                "srColor": {
                    "type": "string",
                    "description": "Value of the Fre Sr color associated with FRE(s)"
                },
                "fallback": {
                    "type": "string",
                    "description": "Value of the Fre fallback associated with FRE(s)"
                },
                "cfmAdminState": {
                    "type": "string",
                    "description": "Value of the CfmAdminState"
                },
                "fields": {
                    "type": "string",
                    "description": "List of comma separated fields to be included in the response. Fields require full path (i.e. data.attributes.field)"
                },
                "sortBy": {
                    "type": "string",
                    "description": "List of comma separated fields by which to sort the result. Fields require full path (i.e. data.attributes.field). A dash or negative sign before a field indicates descending order; by default ascending order is used"
                },
                "offset": {
                    "type": "string",
                    "description": "Offset for the second page"
                },
                "limit": {
                    "type": "string",
                    "description": "The size of a returned page\n"
                },
                "metaDataFields": {
                    "type": "string",
                    "description": "MetaData to be included. The allowed values are: layerRate, layerRateQualifier, signalContentType, intentLifeCyclePhaseString, intentDeploymentStateString, serviceClass, sncgUserlabel, adminState, operationState, lqsData.status, lqsData.margin.valid, lqsData.fiber.reconciled, lqsData.fiber.method, lqsData.margin.viableAtEol, displayAdminState, displayOperationState, displayTopologySource, customerName, domainTypes, resilienceLevel, directionality, displayDeploymentState, ringType, ringCompleteness, displayRecoveryCharacteristicsOnHome, relatedServices"
                },
                "metaDataQualifiers": {
                    "type": "string",
                    "description": "List of meta data options. The allowed values are: absoluteTotals"
                },
                "include": {
                    "type": "string",
                    "description": "List of comma separated resources to be side-loaded. The allowed values are: tpes, expectations, networkConstructs, planned, freDiscovered, frePlanned, supportedByFreResiliencyClientTpes"
                },
                "ovpnIds": {
                    "type": "string",
                    "description": "List of comma separated values for ovpn Id"
                },
                "serviceClassMismatch": {
                    "type": "string",
                    "description": "Allow filtering on the FRE  where the discovered service class and derived service class matches or not : true or false"
                },
                "peerSNCIdentifier": {
                    "type": "string",
                    "description": "The identier of the Peer SNC that is peer of a FRE"
                },
                "relatedServices": {
                    "type": "string",
                    "description": "Optional when namedQuery relatedFresFull. The allowed values are: Sncp, Link diverse, Bundle diverse, Absolute diverse"
                },
                "dailyThroughput.averageUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput average utilization"
                },
                "dailyThroughput.startAverageUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput start average utilization"
                },
                "dailyThroughput.endAverageUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput end average utilization"
                },
                "dailyThroughput.maxUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput max utilization"
                },
                "dailyThroughput.startMaxUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput start max utilization"
                },
                "dailyThroughput.endMaxUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput end max utilization"
                },
                "dailyThroughput.ninetyFifthUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput 95th percentile utilization"
                },
                "dailyThroughput.startNinetyFifthUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput start 95th percentile utilization"
                },
                "dailyThroughput.endNinetyFifthUtilization": {
                    "type": "string",
                    "description": "Allow filtering on daily FRE throughput end 95th percentile utilization"
                },
                "weeklyThroughput.averageUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput average utilization"
                },
                "weeklyThroughput.startAverageUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput start average utilization"
                },
                "weeklyThroughput.endAverageUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput end average utilization"
                },
                "weeklyThroughput.maxUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput max utilization"
                },
                "weeklyThroughput.startMaxUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput start max utilization"
                },
                "weeklyThroughput.endMaxUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput end max utilization"
                },
                "weeklyThroughput.ninetyFifthUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput 95th percentile utilization"
                },
                "weeklyThroughput.startNinetyFifthUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput start 95th percentile utilization"
                },
                "weeklyThroughput.endNinetyFifthUtilization": {
                    "type": "string",
                    "description": "Allow filtering on weekly FRE throughput end 95th percentile utilization"
                },
                "completeness": {
                    "type": "string",
                    "description": "Allow filtering on type of G8032 ring and FlexE completeness. This parameter accepts a list of comma separated values: partial, complete"
                },
                "misconfigured": {
                    "type": "string",
                    "description": "Allow filtering on type of FlexE Misconfigurations. This parameter accepts a list of comma separated values: true, false"
                },
                "destinationPrefix": {
                    "type": "string",
                    "description": "Allow filtering on destinationPrefix"
                },
                "selectedRoute": {
                    "type": "string",
                    "description": "Allow filtering on selectedRoute"
                },
                "vrfName": {
                    "type": "string",
                    "description": "Allow filtering on Vrf Name"
                },
                "nextHopIp": {
                    "type": "string",
                    "description": "Allow filtering on NextHop Ip."
                },
                "vrfId": {
                    "type": "string",
                    "description": "Allow filtering on vrfId."
                },
                "statsCollectionOperational": {
                    "type": "string",
                    "description": "Allow filtering on value of IPDATA statsCollectionOperational. This parameter accepts a list of comma separated values: on, off, partial"
                },
                "dmmState": {
                    "type": "string",
                    "description": "Allow filtering on value of IPDATA dmmState. This parameter accepts a list of comma separated values: enabled, disabled, partial"
                },
                "slmState": {
                    "type": "string",
                    "description": "Allow filtering on value of IPDATA slmState. This parameter accepts a list of comma separated values: enabled, disabled, partial"
                },
                "color": {
                    "type": "string",
                    "description": "Allow filtering on Color"
                },
                "displayServerRefreshState": {
                    "type": "string",
                    "description": "Allow filtering on the display server refresh state"
                },
                "serviceRefresh.state": {
                    "type": "string",
                    "description": "Allow filtering on the server refresh state"
                },
                "serviceRefresh.status": {
                    "type": "string",
                    "description": "Allow filtering on the display server refresh status"
                }
            }
        },
        "FreSrTePolicyPackageRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "SR policy name"
                },
                "sourceEndPoint": {
                    "type": "string",
                    "description": "Source IP address for the tunnel"
                },
                "destEndPoint": {
                    "type": "string",
                    "description": "Policy end point IP address"
                },
                "color": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Color associated with the policy"
                },
                "reversionHoldTimer": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Reversion hold timer for SR policy"
                },
                "outLabels": {
                    "type": "string",
                    "description": "Policy out labels"
                },
                "outInterfaceName": {
                    "type": "string",
                    "description": "Outgoing Interface name"
                },
                "operationState": {
                    "type": "string",
                    "description": "Policy operation state",
                    "enum": [
                        "Up",
                        "Down"
                    ]
                },
                "bindingSidAllocationMode": {
                    "type": "string",
                    "description": "Policy bindingSid allocation mode",
                    "enum": [
                        "SystemDefined",
                        "Device"
                    ]
                },
                "adminState": {
                    "type": "string",
                    "description": "Tunnel admin state",
                    "enum": [
                        "UP",
                        "DOWN"
                    ]
                },
                "signalingType": {
                    "type": "string",
                    "description": "Signaling type of SR policy",
                    "enum": [
                        "ISIS_SR",
                        "OSPF_SR"
                    ]
                },
                "reversionState": {
                    "type": "string",
                    "description": "Specifies reversion state as enable or disable",
                    "enum": [
                        "enable",
                        "disable"
                    ]
                },
                "createTime": {
                    "type": "string",
                    "description": "Creation time of the policy"
                },
                "upTime": {
                    "type": "string",
                    "description": "Policy up time"
                },
                "bindingSid": {
                    "description": "Package that holds SR-TE Policy Binding Sid Data",
                    "$ref": "#/definitions/SrTeBindingSidRO"
                },
                "candidatePaths": {
                    "type": "array",
                    "description": "SR policy candidate path(s)",
                    "items": {
                        "$ref": "#/definitions/SrTeCandidatePathsDataRO"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Description of the policy"
                },
                "userConstraints": {
                    "description": "Package that holds User Constraints Data",
                    "$ref": "#/definitions/UserConstraintsRO"
                }
            }
        },
        "FreVrfPackageRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "ID of EVPN instance"
                },
                "routeDistinguisher": {
                    "type": "string",
                    "description": "RouteDistinguisher associated with a VRF"
                },
                "exportRouteTargets": {
                    "type": "array",
                    "description": "Set of export Route Target(s) associated with VRF(s)",
                    "items": {
                        "type": "string"
                    }
                },
                "importRouteTargets": {
                    "type": "array",
                    "description": "Set of import Route Target(s) associated with VRF(s)",
                    "items": {
                        "type": "string"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "String to store description field on a VRF"
                },
                "staticRouteIDs": {
                    "type": "array",
                    "description": "list of static route IDs associated with VRF(s)",
                    "items": {
                        "type": "string"
                    }
                },
                "transportPolicy": {
                    "description": "holds transport policy info for vrf",
                    "$ref": "#/definitions/TransportPolicyRO"
                }
            }
        },
        "FrrPropertiesRO": {
            "type": "object",
            "properties": {
                "levelType": {
                    "type": "string",
                    "description": "Level of an IS-IS node - can be level-1, level-2 or level-1-2"
                },
                "tiLfaEnabled": {
                    "type": "boolean",
                    "description": "TI-LFA enabled or not.",
                    "default": false
                }
            }
        },
        "FrrRO": {
            "type": "object",
            "properties": {
                "holdTimer": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Contains hold timer."
                },
                "frrProperties": {
                    "type": "array",
                    "description": "contains data based on ISIS instance levels",
                    "items": {
                        "$ref": "#/definitions/FrrPropertiesRO"
                    }
                }
            }
        },
        "G8032PackageRO": {
            "type": "object",
            "properties": {
                "ringId": {
                    "type": "string",
                    "description": "The logical ring ID"
                },
                "logicalRingName": {
                    "type": "string",
                    "description": "The logical ring name"
                },
                "virtualRingName": {
                    "type": "string",
                    "description": "the virtual ring name"
                },
                "rapsVid": {
                    "type": "string",
                    "description": "the R-APS VID of the ring"
                },
                "rplOwner": {
                    "type": "boolean",
                    "description": "True if the port is configured as RPL-owner.",
                    "default": false
                },
                "operationalChannelBlock": {
                    "type": "boolean",
                    "description": "True if the port is blocked, i.e portState == Blocked",
                    "default": false
                },
                "ringType": {
                    "type": "string",
                    "description": "the type of ring",
                    "enum": [
                        "majorRing",
                        "subRing"
                    ]
                },
                "sharedPort": {
                    "type": "string",
                    "description": "sharedPort information for the sub-ring (ONLY for sub-ring endNode)"
                },
                "sharedPortRef": {
                    "type": "string",
                    "description": "the ID of the PTP on the shared port"
                },
                "vlanGroupId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "the ID used for L2Motr devices in parallel to sharedPort in SAOS devices"
                },
                "forceSwitch": {
                    "type": "boolean",
                    "description": "a flag indicating whether the switching is forced or not.",
                    "default": false
                },
                "subRingTermination": {
                    "type": "boolean",
                    "description": "flag indicating whether the subring is terminating or not",
                    "default": false
                },
                "portDirection": {
                    "type": "string",
                    "description": "the direction of the port.",
                    "enum": [
                        "east",
                        "west"
                    ]
                },
                "revertive": {
                    "type": "boolean",
                    "description": "revertive",
                    "default": false
                },
                "holdOffTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "hold off time in milliseconds"
                },
                "holdOffTimeUnit": {
                    "type": "string",
                    "description": "Unit of time",
                    "enum": [
                        "min",
                        "sec",
                        "msec"
                    ]
                },
                "waitToRestore": {
                    "type": "integer",
                    "format": "int32",
                    "description": "wait to restore time in minute. "
                },
                "waitToRestoreUnit": {
                    "type": "string",
                    "description": "Unit of time",
                    "enum": [
                        "min",
                        "sec",
                        "msec"
                    ]
                },
                "waitToBlock": {
                    "type": "integer",
                    "format": "int32",
                    "description": "wait to block time in milliseconds. "
                },
                "waitToBlockUnit": {
                    "type": "string",
                    "description": "Unit of time",
                    "enum": [
                        "min",
                        "sec",
                        "msec"
                    ]
                },
                "guardTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "guard time in millisecond."
                },
                "guardTimeUnit": {
                    "type": "string",
                    "description": "Unit of time",
                    "enum": [
                        "min",
                        "sec",
                        "msec"
                    ]
                },
                "ringMembers": {
                    "type": "string",
                    "description": "a comma separated list of virtual ring members."
                },
                "ringState": {
                    "type": "string",
                    "description": "the state of the ring",
                    "enum": [
                        "initializing",
                        "ok",
                        "adminDisabled",
                        "operationalDisabled",
                        "protecting",
                        "recovering",
                        "manualSwitch",
                        "forceSwitch",
                        "unknown"
                    ]
                },
                "ringStatus": {
                    "type": "string",
                    "description": "the status of the ring",
                    "enum": [
                        "ok",
                        "localSignalFailure",
                        "localForceSwitch",
                        "remoteOtherPortSignalFailure",
                        "remoteOtherPortForceSwitch",
                        "provisioningMismatch",
                        "notReceivingPDUS",
                        "noRPLOwnerDetected",
                        "unknown"
                    ]
                },
                "portState": {
                    "type": "string",
                    "description": "the state of the port",
                    "enum": [
                        "disabled",
                        "forwarding",
                        "blocked",
                        "localManualSwitch",
                        "localForceSwitch",
                        "unknown"
                    ]
                },
                "portStatus": {
                    "type": "string",
                    "description": "the status of the port",
                    "enum": [
                        "ok",
                        "down",
                        "CCMFailure",
                        "localForceSwitch",
                        "remoteForceSwitch",
                        "remoteSignalFailure",
                        "unknown"
                    ]
                }
            }
        },
        "GatewayRO": {
            "type": "object",
            "properties": {
                "overRide": {
                    "type": "boolean",
                    "description": "Override the default definition of the gateway",
                    "default": false
                },
                "access": {
                    "type": "string",
                    "description": "Defines the type of Gateway ie. 6500 V4 values are: ARP, NAT, OSPF, STATIC, PRIVATEIP"
                },
                "config": {
                    "type": "string",
                    "description": "Configuration of Gateway as standalone or redundant."
                }
            }
        },
        "GatewayRO_": {
            "type": "object",
            "properties": {
                "overRide": {
                    "type": "boolean",
                    "description": "Override the default definition of the gateway",
                    "default": false
                },
                "access": {
                    "type": "string",
                    "description": "Defines the type of Gateway ie. 6500 V6 values are:NDPROXY, OSPFV3, STATIC"
                },
                "config": {
                    "type": "string",
                    "description": "Configuration of Gateway as standalone or redundant."
                }
            }
        },
        "GeneralRO": {
            "type": "object",
            "properties": {
                "useAnycastSIDsForABRResiliency": {
                    "type": "boolean",
                    "description": "Use Anycast-SIDs for ABR Resiliency",
                    "default": false
                },
                "useBindingSIDForCoreAreaTunnelsOrPolicies": {
                    "type": "boolean",
                    "description": "Use Binding SID for Core Area Tunnels/Policies",
                    "default": false
                },
                "bsidTunnelColor": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Binding Tunnel/Policy Color"
                }
            }
        },
        "GeoLocationRO": {
            "type": "object",
            "properties": {
                "zone": {
                    "type": "string"
                },
                "longitude": {
                    "type": "string"
                },
                "latitude": {
                    "type": "string"
                }
            }
        },
        "GroupPackageRO": {
            "type": "object",
            "properties": {
                "groupId": {
                    "type": "string",
                    "description": "UUID of the group it will be set once Group is created by NSI"
                },
                "aid": {
                    "type": "string",
                    "description": "AID of the participating sncs something like aidSnc1:aidSnc2"
                },
                "groupToBeCreated": {
                    "type": "boolean",
                    "description": " flag to indicate that Group needs to be created",
                    "default": false
                }
            }
        },
        "HopEntryRO": {
            "type": "object",
            "properties": {
                "hopAddress": {
                    "type": "string",
                    "description": "The IP-data interface address for this hop"
                },
                "hopType": {
                    "type": "string",
                    "description": "The type of this hop",
                    "enum": [
                        "strict",
                        "loose"
                    ]
                }
            }
        },
        "IPCommunicationDetailsRO": {
            "type": "object",
            "properties": {
                "ipv4Infrastructure": {
                    "$ref": "#/definitions/Ipv4InfrastructureRO"
                },
                "ipv6Infrastructure": {
                    "$ref": "#/definitions/Ipv6InfrastructureRO"
                },
                "iisisInfrastructure": {
                    "description": "IISIS Router Details",
                    "$ref": "#/definitions/IisisInfrastructureRO"
                },
                "sldd": {
                    "description": "Attributes for capturing SLDD details",
                    "$ref": "#/definitions/SlddRO"
                },
                "interfaceDetails": {
                    "type": "array",
                    "description": "List of comms interfaces and their attributes.",
                    "items": {
                        "$ref": "#/definitions/InterfaceIPAttributesRO"
                    }
                }
            }
        },
        "ISISDataRO": {
            "type": "object",
            "properties": {
                "instanceName": {
                    "type": "string",
                    "description": "ISIS instance name."
                },
                "routerId": {
                    "type": "string",
                    "description": "ISIS instance router Id."
                },
                "loopbackInterfaceName": {
                    "type": "string",
                    "description": "ISIS instance loopback interface name."
                },
                "netAddress": {
                    "description": "Holds NetAddress data for protocol.",
                    "$ref": "#/definitions/NetAddressRO"
                },
                "isis_sr": {
                    "description": "Holds segment routing data.",
                    "$ref": "#/definitions/IsIsSegmentRoutingRO"
                }
            }
        },
        "IisisInfrastructureRO": {
            "type": "object",
            "properties": {
                "l1priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "1-127, 64 is default"
                },
                "l2priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "1-127, 64 is default"
                },
                "routerLevel": {
                    "type": "string",
                    "description": "Level 1 or Level 2 router, default is Level 1"
                },
                "routerlevelsummarisition": {
                    "type": "string",
                    "description": "Whether routes or route summaries are redistributed"
                }
            }
        },
        "IisisRO": {
            "type": "object",
            "properties": {
                "circuit": {
                    "type": "boolean",
                    "description": "IISIS circuit exists on the interface",
                    "default": false
                },
                "attributes": {
                    "description": "Attributes for an IISIS circuit",
                    "$ref": "#/definitions/AttributesRO"
                }
            }
        },
        "IndexesRO": {
            "type": "object"
        },
        "InterfaceIPAttributesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the interface the IP communications details are associated with"
                },
                "topology": {
                    "$ref": "#/definitions/TopologyRO"
                },
                "ipv4": {
                    "$ref": "#/definitions/Ipv4RO"
                },
                "ipv6": {
                    "type": "array",
                    "description": "List IPV6 Addresses for an interface.",
                    "items": {
                        "$ref": "#/definitions/Ipv6RO"
                    }
                },
                "iisis": {
                    "$ref": "#/definitions/IisisRO"
                }
            }
        },
        "IpInterfacePackageRO": {
            "type": "object",
            "properties": {
                "bfd": {
                    "description": "Holds BFD attributes for TPE endpoint",
                    "$ref": "#/definitions/BfdRO"
                },
                "isis": {
                    "description": "Holds IsIs attributes",
                    "$ref": "#/definitions/IsIsRO"
                }
            }
        },
        "Ipv4InfrastructureRO": {
            "type": "object",
            "properties": {
                "dhcpRelayAgent": {
                    "description": "DHCP Relay agent attributes.",
                    "$ref": "#/definitions/DhcpRelayAgentRO"
                },
                "dhcpclient": {
                    "type": "boolean",
                    "description": "Indicates if the DHCP client is enabled",
                    "default": false
                },
                "stackEnabled": {
                    "type": "boolean",
                    "description": "Indicates if IPV4 is enabled",
                    "default": false
                },
                "gateway": {
                    "description": "Gateway Details of the network construct",
                    "$ref": "#/definitions/GatewayRO"
                },
                "arpRemotes": {
                    "type": "array",
                    "description": "Defines the list of shelves/network elements this shelf should ARP for.",
                    "items": {
                        "$ref": "#/definitions/ArpRemoteRO"
                    }
                },
                "ospfRouter": {
                    "description": "OSPF Router Details",
                    "$ref": "#/definitions/OspfRouterRO"
                }
            }
        },
        "Ipv4RO": {
            "type": "object",
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Value of IP address, can be either a V4 "
                },
                "defaultGateway": {
                    "type": "string",
                    "description": "The next hope router IP, can be a V4 address"
                },
                "prefix": {
                    "type": "string",
                    "description": "The prefix which is applied on the interface, an IPV4 prefix"
                },
                "subnetMask": {
                    "type": "string",
                    "description": "The mask which is applied on the interface, an IPV4 mask"
                },
                "proxyArp": {
                    "type": "string",
                    "description": "Turns proxy ARP on or off for port. Default is OFF"
                },
                "dhcpRelayAgent": {
                    "type": "boolean",
                    "description": "Defines if the interface is a V4 DHCP relay agent, must be off for unnumbered interfaces",
                    "default": false
                },
                "ospfcircuit": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/OspfcircuitRO"
                    }
                }
            }
        },
        "Ipv6InfrastructureRO": {
            "type": "object",
            "properties": {
                "dhcpRelayAgent": {
                    "description": "DHCP Relay agent attributes.",
                    "$ref": "#/definitions/DhcpRelayAgentRO_"
                },
                "dhcpclient": {
                    "type": "boolean",
                    "description": "Indicates if the DHCP client is enabled",
                    "default": false
                },
                "stackEnabled": {
                    "type": "boolean",
                    "description": "Indicates if IPV4 is enabled",
                    "default": false
                },
                "gateway": {
                    "description": "Gateway Details of the network construct",
                    "$ref": "#/definitions/GatewayRO_"
                },
                "ospfRouter": {
                    "description": "OSPF Router Details",
                    "$ref": "#/definitions/OspfRouterRO_"
                }
            }
        },
        "Ipv6RO": {
            "type": "object",
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "Value of IP address, can be either a V6 address, should support all formats of V6 address"
                },
                "defaultGateway": {
                    "type": "string",
                    "description": "The next hope router IP, can be a V6 address, should support all formats of V6 address"
                },
                "prefix": {
                    "type": "string",
                    "description": "The prefix which is applied on the interface, an IPV6 prefix"
                },
                "ospfcircuit": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/OspfcircuitRO_"
                    }
                }
            }
        },
        "IsIsLevelDataRO": {
            "type": "object",
            "properties": {
                "levelType": {
                    "type": "string",
                    "description": "Level of an IS-IS node - can be level-1, level-2 or level-1-2"
                },
                "helloInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Interval between hello messages, unit:seconds"
                },
                "helloMultiplier": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of missed hello messages prior to adjacency down grouping, unit:seconds"
                },
                "csnpInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Interval between CSNP messages, unit:seconds"
                },
                "priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "priority for DIS election"
                },
                "metric": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Metric associated with the links having range 1-63, i.e. default-10, delay, expense etc."
                },
                "wideMetric": {
                    "type": "integer",
                    "format": "int32",
                    "description": "wide-metric configuration"
                },
                "lfaCandidateEnable": {
                    "type": "boolean",
                    "description": "Enable/disable the interface from being used as LFA for level-1, level-2 or level-1-2 primary route",
                    "default": false
                },
                "tiLfaEnable": {
                    "type": "boolean",
                    "description": "Enable/DIsable TI-LFA on the interface Same for LFA",
                    "default": false
                }
            }
        },
        "IsIsRO": {
            "type": "object",
            "properties": {
                "instanceTag": {
                    "type": "string",
                    "description": "Protocol instance Tag"
                },
                "levelType": {
                    "type": "string",
                    "description": "level of an ISIS instance",
                    "enum": [
                        "LEVEL_1",
                        "LEVEL_2",
                        "LEVEL_1_2"
                    ]
                },
                "levels": {
                    "type": "array",
                    "description": "Contains IsIs Level attribute details",
                    "items": {
                        "$ref": "#/definitions/IsIsLevelDataRO"
                    }
                },
                "interfaceType": {
                    "type": "string",
                    "description": "point-to-point or point-to-multipoint network"
                },
                "lspInterval": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Interval between LSP transmissions, unit:milliseconds"
                },
                "lspRetransmitInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Interval between LSP retransmissions, unit:seconds"
                },
                "helloPadding": {
                    "type": "boolean",
                    "description": "ISIS hello padding activation",
                    "default": false
                },
                "ipv4UnicastDefaultDisable": {
                    "type": "boolean",
                    "description": "disable default config for IPv4 AF on interface",
                    "default": false
                },
                "ldpIgpSyncLevelType": {
                    "type": "string",
                    "description": "enable MPLS LDP synchronization for an ISIS level",
                    "enum": [
                        "LEVEL_1",
                        "LEVEL_2",
                        "LEVEL_1_2"
                    ]
                },
                "ldpIgpSyncHoldDown": {
                    "type": "string",
                    "description": "hold down timer for the ISIS LDP/IGP synchronization configuration, unit : seconds"
                },
                "isisEnabled": {
                    "type": "boolean",
                    "description": "enable MPLS isis routing",
                    "default": false
                },
                "srEnabled": {
                    "type": "boolean",
                    "description": "enable MPLS segment routing",
                    "default": false
                },
                "bfdEnabled": {
                    "type": "boolean",
                    "description": "Bidirectional forwarding detection for ISIS",
                    "default": false
                },
                "metricStyle": {
                    "type": "string",
                    "description": "Metric style global configuration",
                    "enum": [
                        "wide"
                    ]
                }
            }
        },
        "IsIsSegmentRoutingRO": {
            "type": "object",
            "properties": {
                "srEnabled": {
                    "type": "boolean",
                    "description": "True when segment routing is enabled for isis instance.",
                    "default": false
                },
                "srgbRange": {
                    "description": "Holds label range data.",
                    "$ref": "#/definitions/LabelRangeRO"
                },
                "prefixSidMap": {
                    "type": "array",
                    "description": "Holds ISIS prefix mapping configuration data.",
                    "items": {
                        "$ref": "#/definitions/PrefixSidMapRO"
                    }
                },
                "frr": {
                    "description": "Holds frr data for protocol.",
                    "$ref": "#/definitions/FrrRO"
                }
            }
        },
        "ItsPackageRO": {
            "type": "object",
            "properties": {
                "itsMode": {
                    "type": "string",
                    "description": "Specify supported ITS mode"
                }
            }
        },
        "L0DataRO": {
            "type": "object",
            "properties": {
                "isFlexCapable": {
                    "type": "boolean",
                    "description": "isFlexCapable value",
                    "default": false
                },
                "isEDTLCapable": {
                    "type": "boolean",
                    "description": "isEDTLCapable value",
                    "default": false
                },
                "isEgressRegenPortCapable": {
                    "type": "boolean",
                    "description": "isEgressRegenPortCapable value",
                    "default": false
                },
                "fiberTypes": {
                    "type": "array",
                    "description": "Fiber types supported on this NetworkConstructs.",
                    "items": {
                        "$ref": "#/definitions/FiberDetailsRO"
                    }
                },
                "features": {
                    "type": "array",
                    "description": "Features settings on this NetworkConstructs.",
                    "items": {
                        "$ref": "#/definitions/FeaturesRO"
                    }
                }
            }
        },
        "L2DataRO": {
            "type": "object",
            "properties": {
                "shelf": {
                    "type": "string"
                },
                "slot": {
                    "type": "string"
                },
                "eqptGrp": {
                    "type": "string",
                    "description": "The group ID obtained from RTRV-EQPTGRP for the SAOS card on which the entity resides"
                },
                "switchFabricType": {
                    "type": "string",
                    "description": "Optional field.  It represents a switch fabric where XC (PTKOTN on S-series), CTM (PTKOTN on T-series)",
                    "enum": [
                        "XC",
                        "CTM",
                        "EMOTR",
                        "PTS",
                        "EMOTR_STANDARD",
                        "EMOTR_EXTENDED",
                        "L_2_MOTR_STANDARD",
                        "L_2_MOTR_EXTENDED",
                        "L_2_MOTR_STANDARD_EXT_OM"
                    ]
                },
                "loopbackAddresses": {
                    "type": "array",
                    "description": "The loopback addresses in the NE.",
                    "items": {
                        "type": "string"
                    }
                },
                "staticTunnelLabelRange": {
                    "description": "Describes a Range attribute",
                    "$ref": "#/definitions/RangeRO"
                },
                "dynamicLabelRange": {
                    "description": "Describes a Range attribute",
                    "$ref": "#/definitions/RangeRO"
                },
                "staticVcLabelRange": {
                    "description": "Describes a Range attribute",
                    "$ref": "#/definitions/RangeRO"
                },
                "mgmtVlans": {
                    "type": "array",
                    "description": "mgmtVlans in the NE.",
                    "items": {
                        "type": "string"
                    }
                },
                "benchmarkMacs": {
                    "type": "array",
                    "description": "Benchmark MAC addresses in the NE.",
                    "items": {
                        "type": "string"
                    }
                },
                "cosProfileNames": {
                    "type": "array",
                    "description": "CoS profiles in the NE.",
                    "items": {
                        "type": "string"
                    }
                },
                "cftProfileNames": {
                    "type": "array",
                    "description": "CFT profiles in the NE.",
                    "items": {
                        "type": "string"
                    }
                },
                "bgpPackage": {
                    "description": "This package stores BGP information.",
                    "$ref": "#/definitions/BgpPackageRO"
                },
                "l2NodeRole": {
                    "type": "string",
                    "description": "L2 Node Role.",
                    "enum": [
                        "AN",
                        "AGN",
                        "NID"
                    ]
                },
                "l2NodeRoutingCapabilities": {
                    "description": "Describes L2 Routing capabilities of the node",
                    "$ref": "#/definitions/L2NodeRoutingCapabilitiesRO"
                },
                "fgiSpecsRefList": {
                    "type": "array",
                    "description": "A list of Forwarding Group assignments.  Each assignment costs of the fGNane, FGVersion, and FGInstance.",
                    "items": {
                        "type": "string"
                    }
                },
                "externalFgiSpecsRefList": {
                    "type": "array",
                    "description": "A list of External Forwarding Group assignments.  Each assignment costs of the fGNane, FGVersion, and FGInstance.",
                    "items": {
                        "type": "string"
                    }
                },
                "tunnelFgiSpecsRefList": {
                    "type": "array",
                    "description": "A list of Tunnel Forwarding Group assignments.",
                    "items": {
                        "type": "string"
                    }
                },
                "trafficProfileMode": {
                    "type": "string",
                    "description": "Traffic Profile Mode",
                    "enum": [
                        "GLOBAL_L_2_L_3",
                        "PORT"
                    ]
                }
            }
        },
        "L2MotrBandwidthProfilesDataRO": {
            "type": "object",
            "properties": {
                "bwprfIndex": {
                    "type": "string",
                    "description": "The bandwidth profile index; indicates the index of bandwidth profile"
                },
                "bwprfName": {
                    "type": "string",
                    "description": "The bandwidth profile name; indicates the name of bandwidth profile"
                },
                "bwprfPolicer": {
                    "type": "string",
                    "description": "The bandwidth profile policer; indicates the policer of bandwidth profile"
                }
            }
        },
        "L2NodeRoutingCapabilitiesRO": {
            "type": "object",
            "properties": {
                "isBGPEnabled": {
                    "type": "boolean",
                    "description": "true, if BGP protocol is enabled on this L2 node.",
                    "default": false
                },
                "isMPLSEnabled": {
                    "type": "boolean",
                    "description": "true, if MPLS protocol is enabled on this L2 node.",
                    "default": false
                },
                "isQiQEnabled": {
                    "type": "boolean",
                    "description": "true , if QiQ protocol is enabled on this L2 node.",
                    "default": false
                },
                "isRSVPTEEnabled": {
                    "type": "boolean",
                    "description": "true , if RSVP-TE protocol is enabled on this L2 node.",
                    "default": false
                }
            }
        },
        "L2TransformRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Need a key for this list. It cannot be a choice of several objects but objects that will always be specified."
                },
                "operation": {
                    "type": "array",
                    "description": "List of operations",
                    "items": {
                        "$ref": "#/definitions/OperationRO"
                    }
                }
            }
        },
        "LabelRangeRO": {
            "type": "object",
            "properties": {
                "range": {
                    "description": "Describes a Range attribute",
                    "$ref": "#/definitions/RangeRO"
                },
                "scope": {
                    "type": "string",
                    "description": "Scope of label range.",
                    "enum": [
                        "SCOPE",
                        "GLOBAL"
                    ]
                }
            }
        },
        "LayerProtocolRO": {
            "type": "object",
            "properties": {
                "termination": {
                    "description": "The specification of the layer protocol termination (including framing, modulation etc). For example the specification of the function that takes a MAC frame and extracts the content (removing the MAC address in the process).",
                    "$ref": "#/definitions/TerminationRO"
                },
                "adaptationPools": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AdaptationPoolRO"
                    }
                },
                "layeredAttributes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LayeredAttributeRO"
                    }
                },
                "accessPoint": {
                    "$ref": "#/definitions/AccessPointRO"
                },
                "connectionPoint": {
                    "$ref": "#/definitions/ConnectionPointRO"
                },
                "tandemConnectionMonitoring": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TandemConnectionMonitoringRO"
                    }
                }
            }
        },
        "LayerTerminationRO": {
            "type": "object",
            "properties": {
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "nativeLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "dynamicLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "structureType": {
                    "type": "string",
                    "description": "Identifies the internal structure of the layer termination.",
                    "enum": [
                        "dual_port",
                        "dual_port_client_mapping",
                        "exposed_lone_cp",
                        "lone_adapter",
                        "full_layer_optional_exposed_cp",
                        "full_layer_optional_exposed_cp_and_tcp",
                        "full_layer_fixed",
                        "exposed_tcp",
                        "concatenating_adapter",
                        "concatenatable_exposed_tcp",
                        "layer_termination_structure_type_unknown",
                        "concatenatable_fixed",
                        "exposed_TCP_and_CP"
                    ]
                },
                "terminationState": {
                    "type": "string",
                    "description": "Whether and how this LayerTermination is terminated.",
                    "enum": [
                        "layer_termination_cannot_terminate",
                        "layer_termination_not_terminated",
                        "terminated_server_to_client_flow",
                        "terminated_client_to_server_flow",
                        "terminated_bidirectional",
                        "layer_termination_permanently_terminated",
                        "termination_state_unknown"
                    ]
                },
                "adminState": {
                    "type": "string",
                    "description": "The administrative state of the layer termination.",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "operationalState": {
                    "type": "string",
                    "description": "The operational (actual) state of the layer termination.",
                    "enum": [
                        "up",
                        "down",
                        "link_flapping",
                        "abnormal"
                    ]
                },
                "active": {
                    "type": "boolean",
                    "description": "Whether or not an inactive layer appears to be absent from the layer stack.",
                    "default": false
                },
                "adjacencyPackage": {
                    "description": "This package stores layer adjacency information.",
                    "$ref": "#/definitions/AdjacencyPackageRO"
                },
                "retainedAdjacencyPackage": {
                    "description": "This package stores layer adjacency information.",
                    "$ref": "#/definitions/AdjacencyPackageRO"
                },
                "manualAdjacencyPackage": {
                    "description": "This package stores layer adjacency information.",
                    "$ref": "#/definitions/AdjacencyPackageRO"
                },
                "powerPackage": {
                    "description": "This package stores power related information.",
                    "$ref": "#/definitions/PowerPackageRO"
                },
                "photonicSpectrumPackage": {
                    "description": "This package stores photonic spectrum information.",
                    "$ref": "#/definitions/PhotonicSpectrumPackageRO"
                },
                "cfmPackages": {
                    "type": "array",
                    "description": "Holds data related to CFM services configured on an Ethernet service",
                    "items": {
                        "$ref": "#/definitions/TpeCfmPackageRO"
                    }
                },
                "mplsPackage": {
                    "description": "This package stores MPLS tunnel information.",
                    "$ref": "#/definitions/MplsPackageRO"
                },
                "g8032Package": {
                    "description": "This package stores information about the G8032 ring",
                    "$ref": "#/definitions/G8032PackageRO"
                },
                "flexePackage": {
                    "description": "This package stores information about the FlexE infrastructure",
                    "$ref": "#/definitions/FlexePackageRO"
                },
                "signalIndex": {
                    "description": "Attribute representing a signal index (e.g. channel information, wavelength, etc).",
                    "$ref": "#/definitions/SignalIndexRO"
                },
                "segmentId": {
                    "type": "string",
                    "description": "The Segment Id of this layer termination"
                },
                "classOfServices": {
                    "type": "array",
                    "description": "The list of class of services in this layer termination",
                    "items": {
                        "$ref": "#/definitions/ClassOfServicesRO"
                    }
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the TPE that is native to the network element."
                },
                "oduFlexPackage": {
                    "description": "This package stores odu flex related attribute information.",
                    "$ref": "#/definitions/OduFlexPackageRO"
                },
                "layerProtocol": {
                    "description": "A LayerProtocol instance is used for controlling termination and monitoring functionality. Also, it is used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection.",
                    "$ref": "#/definitions/LayerProtocolRO"
                },
                "trafficProfiles": {
                    "type": "array",
                    "description": "Traffic profile characteristics used to data-drive provisioning workflows.",
                    "items": {
                        "$ref": "#/definitions/TrafficProfileRO"
                    }
                },
                "serviceLabel": {
                    "type": "string",
                    "description": "The service-identifiying label"
                },
                "boundaries": {
                    "type": "array",
                    "description": "Array of strings to track boundaries of Layer Termination",
                    "items": {
                        "type": "string"
                    }
                },
                "ttiPackage": {
                    "description": "This package stores Tti information.",
                    "$ref": "#/definitions/TtiPackageRO"
                },
                "controlPlanePackage": {
                    "description": "The northbound model of Control Plane Package.",
                    "$ref": "#/definitions/ControlPlanePackageRO"
                },
                "resiliencyTopologyPackage": {
                    "description": "This package stores resiliency topology information.",
                    "$ref": "#/definitions/ResiliencyTopologyPackageRO"
                },
                "adminWt": {
                    "type": "number",
                    "format": "double",
                    "description": "Administrative weight which specifies the level of importance given to the OSRP link"
                },
                "bundleIds": {
                    "type": "array",
                    "description": "List of up to 20 protection bundles to which the OSRP link belongs",
                    "items": {
                        "type": "string"
                    }
                },
                "latency": {
                    "type": "number",
                    "format": "double",
                    "description": "Indicates the delay in mic'roseconds."
                },
                "bgpPackage": {
                    "description": "This package stores BGP information.",
                    "$ref": "#/definitions/BgpPackageRO"
                },
                "parentPolicers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ParentPolicerRO"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "txInfo": {
                    "description": "TxInfo",
                    "$ref": "#/definitions/TxInfoRO"
                },
                "ipInterfacePackage": {
                    "description": "To report IP settings on the interface",
                    "$ref": "#/definitions/IpInterfacePackageRO"
                },
                "lastUpdatedAdminStateTimeStamp": {
                    "type": "string",
                    "description": "TimeStamp when the adminState was last changed"
                },
                "lastUpdatedOperationalStateTimeStamp": {
                    "type": "string",
                    "description": "TimeStamp when the operational state was last changed"
                },
                "L2Transform": {
                    "description": "This package stores Transform types like Ingress/Egress L2 Transform",
                    "$ref": "#/definitions/TransformTypesRO"
                }
            }
        },
        "LayeredAttributeRO": {
            "type": "object",
            "properties": {
                "layer": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "loopbackPackage": {
                    "description": "This package stores loopback information",
                    "$ref": "#/definitions/LoopbackPackageRO"
                },
                "itsPackage": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ItsPackageRO"
                    }
                }
            }
        },
        "LifeCycleRuleRO": {
            "type": "object",
            "properties": {
                "autoCreatedByNetwork": {
                    "type": "boolean",
                    "description": "Indicates if the entity is auto created by the network and/or device (true) or must it explicitly be created (false).",
                    "default": false
                },
                "autoDeletedByNetwork": {
                    "type": "boolean",
                    "description": "Indicates if the entity is auto deleted by the network and/or device (true) or must it explicitly be created (false).",
                    "default": false
                }
            }
        },
        "LinkAttributesRO": {
            "type": "object",
            "properties": {
                "tags": {
                    "type": "array",
                    "description": "Reference to 3rd Party Network involved in this topology, can be re-used for other purposes in future.",
                    "items": {
                        "type": "string"
                    }
                },
                "description": {
                    "type": "string",
                    "description": "Short description of the topology to be created."
                },
                "userLabel": {
                    "type": "string",
                    "description": "The user label (not necessarily unique) of the topology to be created."
                },
                "note": {
                    "$ref": "#/definitions/NoteRO"
                },
                "serialNumber": {
                    "type": "string",
                    "description": "Serial number for AOC/DAC plug"
                }
            }
        },
        "LoopbackPackageRO": {
            "type": "object",
            "properties": {
                "loopbackStatus": {
                    "type": "string",
                    "description": "Status of the test; taken directly from the value of the TL1 LPBKSTATUS field."
                },
                "loopbackWavelength": {
                    "type": "string",
                    "description": "Wavelength of the loopback test; taken directly from the value of the TL1 LPBKWVL field"
                }
            }
        },
        "LqsDataRO": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string",
                    "enum": [
                        "low",
                        "good",
                        "upgrade",
                        "high"
                    ]
                },
                "margin": {
                    "$ref": "#/definitions/LqsMarginDataRO"
                },
                "fiber": {
                    "$ref": "#/definitions/LqsFiberDataRO"
                },
                "ppg": {
                    "$ref": "#/definitions/LqsPPGDataRO"
                }
            }
        },
        "LqsFiberDataRO": {
            "type": "object",
            "properties": {
                "measuredLoss": {
                    "type": "number",
                    "format": "double"
                },
                "modeledLoss": {
                    "type": "number",
                    "format": "double"
                },
                "deltaLoss": {
                    "type": "number",
                    "format": "double"
                },
                "modeledMargin": {
                    "type": "number",
                    "format": "double"
                },
                "method": {
                    "type": "string",
                    "enum": [
                        "totalPower",
                        "osc",
                        "ramanTelemetry",
                        "rls"
                    ]
                },
                "reconciled": {
                    "type": "boolean",
                    "default": false
                },
                "deltaAvgToPlannedLoss": {
                    "type": "number",
                    "format": "double"
                },
                "avgLoss": {
                    "type": "number",
                    "format": "double"
                },
                "lastCalculationTime": {
                    "type": "string"
                },
                "avgLossStatus": {
                    "type": "string",
                    "enum": [
                        "low",
                        "good",
                        "high"
                    ]
                },
                "plannedLoss": {
                    "type": "number",
                    "format": "double"
                },
                "plannedLossMargin": {
                    "type": "number",
                    "format": "double"
                },
                "currentLoss": {
                    "type": "number",
                    "format": "double"
                },
                "currentLossTime": {
                    "type": "string"
                },
                "currentLossMethod": {
                    "type": "string",
                    "enum": [
                        "totalPower",
                        "osc",
                        "ramanTelemetry",
                        "rls"
                    ]
                }
            }
        },
        "LqsMarginDataRO": {
            "type": "object",
            "properties": {
                "minMargin": {
                    "type": "number",
                    "format": "double"
                },
                "upgrMargin": {
                    "type": "number",
                    "format": "double"
                },
                "sdMargin": {
                    "type": "number",
                    "format": "double"
                },
                "valid": {
                    "type": "boolean",
                    "default": false
                },
                "viableAtEol": {
                    "type": "string"
                }
            }
        },
        "LqsPPGDataRO": {
            "type": "object",
            "properties": {
                "snrStatus": {
                    "type": "string",
                    "enum": [
                        "good",
                        "bad",
                        "neutral"
                    ]
                },
                "currentTimeSnr": {
                    "type": "number",
                    "format": "double"
                },
                "averageSnr": {
                    "type": "number",
                    "format": "double"
                },
                "minSnr": {
                    "type": "number",
                    "format": "double"
                },
                "plannedSnr": {
                    "type": "number",
                    "format": "double"
                },
                "latency": {
                    "type": "number",
                    "format": "double"
                },
                "chromaticDispersion": {
                    "type": "number",
                    "format": "double"
                },
                "distance": {
                    "type": "number",
                    "format": "double"
                },
                "deltaSnrPlanned": {
                    "type": "number",
                    "format": "double"
                },
                "deltaSnrReference": {
                    "type": "number",
                    "format": "double"
                },
                "heatMap": {
                    "type": "number",
                    "format": "double"
                },
                "equivRefSpans": {
                    "type": "number",
                    "format": "double"
                },
                "categorySnrReference": {
                    "type": "string"
                }
            }
        },
        "MapperRuleRO": {
            "type": "object",
            "properties": {
                "groupedTribSlots": {
                    "type": "array",
                    "items": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "groupedAvailableTribPorts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "usedStartingTimeSlots": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tribSlots": {
                    "type": "array",
                    "description": "Mapped tributary slots corresponding to tributary port",
                    "items": {
                        "type": "string"
                    }
                },
                "tribPort": {
                    "type": "string",
                    "description": "Tributary port"
                }
            }
        },
        "MappingInteractionRuleRO": {
            "type": "object",
            "properties": {
                "segmentBoundaryRule": {
                    "type": "string",
                    "description": "The default is mustNotOverlap.",
                    "enum": [
                        "mustNotOverlap"
                    ]
                }
            }
        },
        "MappingTableEntryRO": {
            "type": "object",
            "properties": {
                "direction": {
                    "type": "string",
                    "description": "The directionality defined in terms of RX/TX.",
                    "enum": [
                        "RX",
                        "TX",
                        "RXTX"
                    ]
                },
                "label": {
                    "type": "string",
                    "description": "The user label."
                },
                "cos": {
                    "type": "string",
                    "description": "The class of service."
                },
                "ip": {
                    "type": "string",
                    "description": "The ip address."
                },
                "ranges": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RangesEntryRO"
                    }
                }
            }
        },
        "MbbHistoryEntryRO": {
            "type": "object",
            "properties": {
                "startTime": {
                    "type": "string",
                    "description": "Start time of the make-before-break happened"
                },
                "endTime": {
                    "type": "string",
                    "description": "End time of the make-before-break happened"
                },
                "result": {
                    "type": "string",
                    "description": "Result of the make-before-break"
                },
                "reason": {
                    "type": "string",
                    "description": "Reason of the make-before-break"
                }
            }
        },
        "MepEntryRO": {
            "type": "object",
            "properties": {
                "mepId": {
                    "type": "string",
                    "description": "The ID of the MEP"
                },
                "ccmTransmitState": {
                    "type": "string",
                    "description": "The transmission state of CCM (on/off)",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "mepAdminState": {
                    "type": "string",
                    "description": "The administrative state (enabled/disabled) of the MEP",
                    "enum": [
                        "ENABLED",
                        "DISABLED"
                    ]
                },
                "mepType": {
                    "type": "string",
                    "description": "The type of the MEP, up or down",
                    "enum": [
                        "UP",
                        "DOWN"
                    ]
                },
                "mepMacAddress": {
                    "type": "string",
                    "description": "The MAC address of the MEP"
                },
                "ccmPriority": {
                    "type": "string",
                    "description": "Priority of the CC messages (0-7)"
                },
                "vlanId": {
                    "type": "string",
                    "description": "The VLAN ID of the MEP"
                },
                "lmm": {
                    "description": "Holds Y.1731 attributes for one measurement type of a MEP",
                    "$ref": "#/definitions/Y1731AttributesRO"
                },
                "dmm": {
                    "description": "Holds Y.1731 attributes for one measurement type of a MEP",
                    "$ref": "#/definitions/Y1731AttributesRO"
                },
                "slm": {
                    "description": "Holds Y.1731 attributes for one measurement type of a MEP",
                    "$ref": "#/definitions/Y1731AttributesRO"
                },
                "slmResponder": {
                    "description": "Holds SLM responder attributes for one measurement type of a MEP",
                    "$ref": "#/definitions/SlmResponderRO"
                },
                "remoteMepId": {
                    "type": "string",
                    "description": "The ID of the remote MEP"
                },
                "maName": {
                    "type": "string",
                    "description": "Holds maintenance association name"
                },
                "ccmInterval": {
                    "type": "string",
                    "description": "The interval between CCM transmissions to be used by all MEPs in the MA"
                }
            }
        },
        "MplsFbProtectedTunnelRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the tunnel protected by this FB tunnel"
                },
                "srcIp": {
                    "type": "string",
                    "description": "Source IP address of the tunnel protected by this FB tunnel"
                },
                "destIp": {
                    "type": "string",
                    "description": "Destination IP address of the tunnel protected by this FB tunnel"
                },
                "role": {
                    "type": "string",
                    "description": "The role at this point of the MPLS tunnel protected by this FB tunnel",
                    "enum": [
                        "ingress",
                        "transit"
                    ]
                }
            }
        },
        "MplsFbRO": {
            "type": "object",
            "properties": {
                "frrAutoCreated": {
                    "type": "boolean",
                    "description": "The flag indicating whether the FB tunnel is auto created by FRR",
                    "default": false
                },
                "protectedInterface": {
                    "type": "string",
                    "description": "Name of the interface being protected by the FB tunnel"
                },
                "excludeIp": {
                    "type": "string",
                    "description": "IP address excluded from the FB tunnel path"
                },
                "protectedTunnels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MplsFbProtectedTunnelRO"
                    }
                }
            }
        },
        "MplsFrrLocalProtectionRO": {
            "type": "object",
            "properties": {
                "protectionAvailable": {
                    "type": "boolean",
                    "description": "True when the protection is available on this endpoint",
                    "default": false
                },
                "protectionInUse": {
                    "type": "boolean",
                    "description": "True when the protection is in use on this endpoint",
                    "default": false
                },
                "protectionFbName": {
                    "type": "string",
                    "description": "Protection FB tunnel name"
                }
            }
        },
        "MplsFrrProtectionRouteHopRO": {
            "type": "object",
            "properties": {
                "ip": {
                    "type": "string",
                    "description": "IP interface address or node loopback IP address of the current hop"
                },
                "protectionType": {
                    "type": "string",
                    "description": "The FB protection type on this hop for this unidirectional tunnel",
                    "enum": [
                        "none",
                        "link_protect",
                        "node_protect"
                    ]
                },
                "protectionInUse": {
                    "type": "boolean",
                    "description": "True when the protection is in use on this endpoint",
                    "default": false
                },
                "bwProtected": {
                    "type": "boolean",
                    "description": "True when the bandwidth is protected on this endpoint",
                    "default": false
                }
            }
        },
        "MplsFrrRO": {
            "type": "object",
            "properties": {
                "frrProtected": {
                    "type": "boolean",
                    "description": "If true, the tunnel is protected by fast re-route (FRR) on the headend TX MPLS CTP",
                    "default": false
                },
                "profileName": {
                    "type": "string",
                    "description": "The FRR profile name on the headend TX MPLS CTP"
                },
                "localProtection": {
                    "description": "Holds MPLS FRR local protection attributes for TX MPLS CTP",
                    "$ref": "#/definitions/MplsFrrLocalProtectionRO"
                },
                "actualProtectionRoute": {
                    "type": "array",
                    "description": "Actual FRR protection route on the headend TX MPLS CTP",
                    "items": {
                        "$ref": "#/definitions/MplsFrrProtectionRouteHopRO"
                    }
                }
            }
        },
        "MplsPackageRO": {
            "type": "object",
            "properties": {
                "lspName": {
                    "type": "string",
                    "description": "The name of this MPLS tunnel"
                },
                "lspId": {
                    "type": "string",
                    "description": "The numeric ID of this MPLS tunnel"
                },
                "coRouted": {
                    "type": "boolean",
                    "description": "If true, this MPLS tunnel is co-routed; otherwise it is associated",
                    "default": false
                },
                "signaled": {
                    "type": "boolean",
                    "description": "If true, this MPLS tunnel is dynamic; otherwise it is static",
                    "default": false
                },
                "subType": {
                    "type": "string",
                    "description": "TP refers to Transport Profile; TE refers to Traffic Engineering",
                    "enum": [
                        "TP",
                        "TE"
                    ]
                },
                "direction": {
                    "type": "string",
                    "description": "Tunnel direction. Use value bidirectional or unidirectional only and TPE attribute stackDirection since ingress and egress are ambiguous",
                    "enum": [
                        "bidirectional",
                        "ingress",
                        "egress",
                        "unidirectional"
                    ]
                },
                "tunnelType": {
                    "type": "string",
                    "description": "Tunnel type (static/dynamic, ingress/egress, corouted/unidrectional)",
                    "enum": [
                        "rsvp_ingress_corout",
                        "rsvp_egress_corout",
                        "rsvp_transit_corout",
                        "static_ingress_corout",
                        "static_egress_corout",
                        "static_transit_corout",
                        "static_ingress_unidir",
                        "static_egress_unidir",
                        "static_transit_unidir",
                        "rsvp_ingress_unidir",
                        "rsvp_transit_unidir",
                        "static_ingress_assoc",
                        "rsvp_ingress",
                        "rsvp_transit",
                        "rsvp_egress"
                    ]
                },
                "ctrlPlaneId": {
                    "type": "string",
                    "description": "A generated value to uniquely identify a particular tunnel instance"
                },
                "srcIp": {
                    "type": "string",
                    "description": "The IP-data interface address of the near end of this MPLS tunnel"
                },
                "srcTunnelId": {
                    "type": "string",
                    "description": "The ID of the near end of this MPLS tunnel"
                },
                "destIp": {
                    "type": "string",
                    "description": "The IP-data interface address of the far end of this MPLS tunnel"
                },
                "destTunnelId": {
                    "type": "string",
                    "description": "The ID of the far end of this MPLS tunnel"
                },
                "fwdIn": {
                    "type": "string",
                    "description": "The inward ID in the forward direction (transit)"
                },
                "fwdOut": {
                    "type": "string",
                    "description": "The outward ID in the forward direction (transit)"
                },
                "revIn": {
                    "type": "string",
                    "description": "The inward ID in the reverse direction (transit)"
                },
                "revOut": {
                    "type": "string",
                    "description": "The outward ID in the reverse direction (transit)"
                },
                "prevHopIp": {
                    "type": "string",
                    "description": "The interface address (on 6200, MAC address) of the previous hop of this MPLS tunnel"
                },
                "nextHopIp": {
                    "type": "string",
                    "description": "The interface address (on 6200, MAC address) of the next hop of this MPLS tunnel"
                },
                "prevHopIfNum": {
                    "type": "string",
                    "description": "The interface number of the previous hop of this MPLS tunnel"
                },
                "nextHopIfNum": {
                    "type": "string",
                    "description": "The interface number of the next hop of this MPLS tunnel"
                },
                "localIfNamePrevHop": {
                    "type": "string",
                    "description": "The local interface name of the previous hop of this MPLS tunnel (6200 only)"
                },
                "localIfNameNextHop": {
                    "type": "string",
                    "description": "The local interface name of the next hop of this MPLS tunnel (6200 only)"
                },
                "RxTag": {
                    "type": "string",
                    "description": "The label used for traffic ingressing to this endpoint"
                },
                "TxTag": {
                    "type": "string",
                    "description": "The label used for traffic egressing from this endpoint"
                },
                "tunnelRole": {
                    "type": "string",
                    "description": "The role at this point in the MPLS tunnel",
                    "enum": [
                        "headEnd",
                        "tailEnd",
                        "transit"
                    ]
                },
                "bw": {
                    "description": "Holds bandwidth attributes for a dynamic tunnel endpoint or an IP interface",
                    "$ref": "#/definitions/BwRO"
                },
                "autoBackup": {
                    "type": "string",
                    "description": "A flag to signal if auto-backup tunnel creation is on or off",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "diversityResource": {
                    "type": "string",
                    "description": "The object upon which to base diversity for the backup tunnel",
                    "enum": [
                        "unknown",
                        "none",
                        "link",
                        "srlg",
                        "node",
                        "srlg_and_node",
                        "srlg_and_link",
                        "link_and_node",
                        "srlg_or_node",
                        "srlg_and_link_and_node"
                    ]
                },
                "diversityLevel": {
                    "type": "string",
                    "description": "The diversity level of backup tunnel creation (maximal meaning best-effort)",
                    "enum": [
                        "strict",
                        "maximal"
                    ]
                },
                "explicitRouteObject": {
                    "type": "array",
                    "description": "An ordered list of hop-by-hop IP-data interface addresses traversed by this dynamic MPLS tunnel",
                    "items": {
                        "type": "string"
                    }
                },
                "bfd": {
                    "description": "Holds BFD attributes for one LER TPE endpoint",
                    "$ref": "#/definitions/BfdRO"
                },
                "aisProfileName": {
                    "type": "string",
                    "description": "The name of the Alarm Indication Signal profile for this MPLS tunnel"
                },
                "aisSessionAdminState": {
                    "type": "string",
                    "description": "The administrative state of the AIS session for this MPLS tunnel",
                    "enum": [
                        "up",
                        "down"
                    ]
                },
                "aisRefreshTimer": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The interval between each AIS refresh for this MPLS tunnel"
                },
                "aisRefreshTimerUnit": {
                    "type": "string",
                    "description": "The units for aisRefreshTimer field"
                },
                "frrSignaling": {
                    "type": "string",
                    "description": "Deprecated by frr package and will be removed later. Flag for fast re-route capability",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "frrProfile": {
                    "type": "string",
                    "description": "Deprecated by frr package and will be removed later. The fast re-route profile for this MPLS tunnel",
                    "enum": [
                        "none",
                        "link_protect",
                        "node_protect"
                    ]
                },
                "explicitTunnel": {
                    "description": "Holds data for the explicit tunnel path",
                    "$ref": "#/definitions/TunnelPathRO"
                },
                "fixedTtl": {
                    "type": "string",
                    "description": "The time-to-live for tunnel hops (1-255)"
                },
                "setupPriority": {
                    "type": "string",
                    "description": "The priority of the dynamic tunnel setup (0-7)"
                },
                "holdPriority": {
                    "type": "string",
                    "description": "The priority of the dynamic tunnel steady-state (0-7)"
                },
                "optimization": {
                    "type": "string",
                    "description": "A flag indicating if tunnel optimization should be attempted by the control-plane",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "optimizationInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The interval between tunnel optimization attempts"
                },
                "optimizationIntervalUnit": {
                    "type": "string",
                    "description": "The unit for optimizationInterval"
                },
                "srlg": {
                    "type": "array",
                    "description": "A list of shared-risk link-group values assigned to this interface",
                    "items": {
                        "type": "string"
                    }
                },
                "colorGroup": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroupRO"
                },
                "includeAny": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroupRO"
                },
                "includeAll": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroupRO"
                },
                "excludeAny": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroupRO"
                },
                "includeAnyBackupTunnel": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroupRO"
                },
                "includeAllBackupTunnel": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroupRO"
                },
                "excludeAnyBackupTunnel": {
                    "description": "The color group for a dynamic tunnel endpoint",
                    "$ref": "#/definitions/ColorGroupRO"
                },
                "facilityBypass": {
                    "type": "boolean",
                    "description": "If true, this MPLS tunnel is facility-bypass (FB) tunnel",
                    "default": false
                },
                "softPreemption": {
                    "type": "string",
                    "description": "If true, soft preemption is enabled. Applicable to dynamic TE unidirectional tunnels only.",
                    "enum": [
                        "enable",
                        "disable"
                    ]
                },
                "stickyLsp": {
                    "type": "string",
                    "description": "A flag indicating a dynamic tunnel stays on the same path after change in required resources. Applicable to dynamic coRouted tunnels only.",
                    "enum": [
                        "on",
                        "off"
                    ]
                },
                "mbbHistory": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MbbHistoryEntryRO"
                    }
                },
                "frr": {
                    "description": "MPLS FRR details attributes",
                    "$ref": "#/definitions/MplsFrrRO"
                },
                "fb": {
                    "description": "MPLS FB tunnel attributes",
                    "$ref": "#/definitions/MplsFbRO"
                },
                "fbProfile": {
                    "description": "Holds FB profile attributes that is protecting a set of IP interfaces",
                    "$ref": "#/definitions/FbProfileRO"
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "A list of share SRLG values used by dynamic tunnel during provisioning.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "MsgsLastErrorRO": {
            "type": "object",
            "properties": {
                "errorCode": {
                    "type": "string",
                    "description": "Error code for last error"
                },
                "errorSubCode": {
                    "type": "string",
                    "description": "Sub error code for last error"
                }
            }
        },
        "NameToCapacityMappingRulesRO": {
            "type": "object",
            "properties": {
                "namingUnit": {
                    "type": "string",
                    "description": "Unit of namespace."
                },
                "capacityUnit": {
                    "type": "string",
                    "description": "Unit of the capacity."
                },
                "relationType": {
                    "type": "string",
                    "description": "Relation type",
                    "enum": [
                        "ONE_TO_ONE",
                        "ONE_TO_MANY"
                    ]
                },
                "mapping": {
                    "type": "string",
                    "description": "Identifies namespace to capacity mapping.",
                    "enum": [
                        "FIXED",
                        "FLEXIBLE",
                        "FLEXIBLE_GROUPED",
                        "FIXED_GROUP_FLEXIBLE_RANGE",
                        "ALL"
                    ]
                },
                "noOfUnits": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number 1-80 in switching and broadband case"
                },
                "mapperRule": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MapperRuleRO"
                    }
                }
            }
        },
        "NamingRulesRO": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "used": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "potentialGrowth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                }
            }
        },
        "NetAddressRO": {
            "type": "object",
            "properties": {
                "areaId": {
                    "type": "string",
                    "description": "Area id of the device"
                },
                "systemId": {
                    "type": "string",
                    "description": "System id of the device"
                },
                "networkSelector": {
                    "type": "string",
                    "description": "network selector."
                }
            }
        },
        "NetworkConstructAttributesRO": {
            "type": "object",
            "properties": {
                "displayData": {
                    "$ref": "#/definitions/NetworkConstructDisplayDataRO"
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "userData": {
                    "description": "User data",
                    "$ref": "#/definitions/UserDataRO"
                },
                "syncState": {
                    "$ref": "#/definitions/SyncStateRO"
                },
                "resourceState": {
                    "type": "string",
                    "description": "Nsi Resource State.",
                    "enum": [
                        "root",
                        "planned",
                        "discovered",
                        "plannedAndDiscovered",
                        "unknown"
                    ]
                },
                "policies": {
                    "description": "Policies for attributes.",
                    "$ref": "#/definitions/AttributePoliciesRO"
                },
                "tags": {
                    "type": "array",
                    "description": "A list of tags for a given NC.",
                    "items": {
                        "type": "string"
                    }
                },
                "note": {
                    "$ref": "#/definitions/NoteRO"
                },
                "ipAddress": {
                    "type": "string",
                    "description": "IP address of the network construct."
                },
                "typeGroup": {
                    "type": "string",
                    "description": "Resource adapter type group."
                },
                "resourceType": {
                    "type": "string",
                    "description": "Resource Type."
                },
                "deviceType": {
                    "type": "string",
                    "description": "Device Type."
                },
                "softwareVersion": {
                    "type": "string",
                    "description": "Software version running in the device."
                },
                "nativeSoftwareVersion": {
                    "type": "string",
                    "description": "Native Software version running in the device."
                },
                "accessIdentifier": {
                    "type": "string",
                    "description": "AID of the device, i.e. for 6500 shelf : SHELF-n."
                },
                "macAddress": {
                    "type": "string",
                    "description": "MAC address of the device."
                },
                "name": {
                    "type": "string",
                    "description": "Name (e.g. TID) of the Network Construct"
                },
                "longName": {
                    "type": "string",
                    "description": "Extended name of the Network Construct"
                },
                "geoLocation": {
                    "description": "The geography location of the device",
                    "$ref": "#/definitions/GeoLocationRO"
                },
                "serialNumber": {
                    "type": "string",
                    "description": "Serial number (e.g. NNTMHQDP0001)"
                },
                "deviceVersion": {
                    "type": "string",
                    "description": "Device version (e.g. 6500 32-SLOT OPTICAL)"
                },
                "softwareType": {
                    "type": "string",
                    "description": "Software type (e.g. OCP)"
                },
                "softwareImage": {
                    "type": "string",
                    "description": "Software image"
                },
                "subnetName": {
                    "type": "string",
                    "description": "Subnet name (e.g. ROADM1---ROADM2---SUBNET)"
                },
                "numberOfShelves": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of shelves (primary + member shelves in case of TIDc)"
                },
                "memberShelvesData": {
                    "type": "array",
                    "description": "It represents the shelf data on the NE.",
                    "items": {
                        "$ref": "#/definitions/ShelfDataRO"
                    }
                },
                "memberFunction": {
                    "type": "string",
                    "description": "Member function of the network construct.",
                    "enum": [
                        "ILA",
                        "DGE",
                        "ROADM",
                        "TOADM",
                        "PASSIVE"
                    ]
                },
                "shelfType": {
                    "type": "string",
                    "description": "Shelf type of the network construct.",
                    "enum": [
                        "ILA",
                        "DGE"
                    ]
                },
                "capabilitySpecRef": {
                    "type": "string",
                    "description": "Name of the file which contains the constraint rules of the network device."
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "networkConstructType": {
                    "type": "string",
                    "description": "The type of network construct. It is used to represent the physical hierarchy of a network element.",
                    "enum": [
                        "networkElement",
                        "shelf",
                        "osrpNode",
                        "manual",
                        "branchingUnit",
                        "submarineRepeater",
                        "foreignNode",
                        "unknown"
                    ]
                },
                "l2Data": {
                    "type": "array",
                    "description": "It represents the L2 Configuration Data on the NE.",
                    "items": {
                        "$ref": "#/definitions/L2DataRO"
                    }
                },
                "l0Data": {
                    "description": "Describes a single entry in the L0Data",
                    "$ref": "#/definitions/L0DataRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "associationState": {
                    "type": "string",
                    "description": "Association state of the network construct.",
                    "enum": [
                        "GOA",
                        "LOA"
                    ]
                },
                "associationStateQualifier": {
                    "type": "string",
                    "description": "How the associationState has been set.",
                    "enum": [
                        "MANUAL",
                        "SYSTEM",
                        "NETWORK"
                    ]
                },
                "associationStateQualifierReason": {
                    "type": "string",
                    "description": "Reason for going into maintenance mode."
                },
                "associationStateLastUpdatedTime": {
                    "type": "string",
                    "description": "Date at which we last changed association state."
                },
                "ipCommunicationDetails": {
                    "description": "IP communications data for the network construct",
                    "$ref": "#/definitions/IPCommunicationDetailsRO"
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                },
                "managementAddresses": {
                    "type": "array",
                    "description": "IP address of the shelf(ves). This is a passive attribute that isn't used to create connections to the NE (conn-addrs are).",
                    "items": {
                        "type": "string"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared Srlgs on this NC.",
                    "items": {
                        "type": "string"
                    }
                },
                "siteId": {
                    "type": "string",
                    "description": "Site ID for the networkConstruct"
                },
                "siteName": {
                    "type": "string",
                    "description": "Site name for the networkConstruct"
                },
                "packetData": {
                    "type": "array",
                    "description": "Holds packet infra data.",
                    "items": {
                        "$ref": "#/definitions/PacketDataRO"
                    }
                }
            }
        },
        "NetworkConstructDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the NetworkConstruct resource"
                },
                "type": {
                    "type": "string",
                    "description": "The Network Construct resource type",
                    "enum": [
                        "networkConstructs"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/NetworkConstructAttributesRO"
                },
                "relationships": {
                    "description": "The relationships of a network construct",
                    "$ref": "#/definitions/NetworkConstructRelationshipsRO"
                }
            }
        },
        "NetworkConstructDisplayDataRO": {
            "type": "object",
            "properties": {
                "displayName": {
                    "type": "string",
                    "description": "Name (e.g. TID) of the Network Construct"
                },
                "displayIpAddress": {
                    "type": "string",
                    "description": "IP address used for expectations."
                },
                "displayMACAddress": {
                    "type": "string",
                    "description": "MAC address used for expectations."
                },
                "displaySyncState": {
                    "type": "string",
                    "enum": [
                        "PLANNED",
                        "NOT_SYNCHRONIZED",
                        "SYNCHRONIZING",
                        "SYNCHRONIZED",
                        "FAILED",
                        "PENDING",
                        "DELETING",
                        "TIMEOUT",
                        "AUDIT_PENDING",
                        "AUDITING"
                    ]
                },
                "displayResourceState": {
                    "type": "string",
                    "description": "Resource state of the network construct"
                },
                "displayInventorySyncFailureReason": {
                    "type": "string",
                    "description": "Used to display inventory sync failure reason."
                },
                "displayAssociationState": {
                    "type": "string",
                    "description": "Used to display the association state of the network construct"
                },
                "displayPhysicalLocationName": {
                    "type": "string",
                    "description": "Used to display the name of the discovered physical location it's related to."
                },
                "displayMapSiteName": {
                    "type": "string",
                    "description": "Used to display the name of the physical location it's related to based on the location data the map is using."
                }
            }
        },
        "NetworkConstructListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NetworkConstructDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Array of associated planned, expectations, discovered, physical locations, or parent Network Constructs",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "NetworkConstructRelationshipsRO": {
            "type": "object",
            "properties": {
                "networkConstructPlanned": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstructExpectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstructDiscovered": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "managementSession": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "utilization": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstructTiming": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "physicalLocation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "parentNetworkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "childrenNetworkConstruct": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concreteAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "groups": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "NodeWithTypeRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Node name"
                },
                "type": {
                    "type": "string",
                    "description": "Node Type",
                    "enum": [
                        "Strict",
                        "Loose"
                    ]
                }
            }
        },
        "NoteRO": {
            "type": "object",
            "properties": {
                "noteMsg": {
                    "type": "string",
                    "description": "The message left on the note left by the user"
                },
                "lastUpdatedBy": {
                    "type": "string",
                    "description": "The name of the user that last edited the note"
                },
                "lastUpdatedTime": {
                    "type": "string",
                    "description": "The time the note was last updated"
                }
            }
        },
        "OduFlexPackageRO": {
            "type": "object",
            "properties": {
                "bitRate": {
                    "type": "string",
                    "description": "Defines the bit rate of the ODUFlex."
                },
                "tolerance": {
                    "type": "string",
                    "description": "Defines the tolerance in ppm of the ODUFlex payload."
                },
                "resizable": {
                    "type": "boolean",
                    "description": "Defines if the ODUFlex is resizable.",
                    "default": false
                }
            }
        },
        "OperationRO": {
            "type": "object",
            "properties": {
                "tag": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Dependent on the xform operation, the tag numbers are  stamp => '1' represents outermost tag, '2' next outermost (next inner)  pop => '1' represents pop outermost, '2' represents pop outermost, (always pop from outer)  push => '1' represents push outermost, '2' represents push outermost (always push to outer)"
                },
                "functionType": {
                    "type": "string",
                    "description": "nature of operation push/pop/stamp",
                    "enum": [
                        "PUSH",
                        "POP",
                        "STAMP"
                    ]
                },
                "vlanId": {
                    "type": "string",
                    "description": "Represents a IEEE 802.1Q VLAN-ID."
                },
                "etherType": {
                    "type": "string",
                    "description": "tpid-8100/tpid-88a8/tpid-9100",
                    "enum": [
                        "ET_8100",
                        "ET_88A8",
                        "ET_88E7",
                        "ET_9100",
                        "ET_9101"
                    ]
                }
            }
        },
        "OspfRouterRO": {
            "type": "object",
            "properties": {
                "routerId": {
                    "type": "string",
                    "description": "ID of the router primarily applicable for OSPF, takes the from of an IPV4 address"
                },
                "areaBorderRouter": {
                    "type": "string",
                    "description": "Area border Router",
                    "enum": [
                        "RFC_3509",
                        "RFC_2328"
                    ]
                },
                "areaSystemBorderRouter": {
                    "type": "string",
                    "description": "Defines if the router is a area system border router",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "area": {
                    "type": "string",
                    "description": "OSPFV2 area of the network construct. Takes the form of an IPV4 address"
                }
            }
        },
        "OspfRouterRO_": {
            "type": "object",
            "properties": {
                "routerId": {
                    "type": "string",
                    "description": "ID of the router primarily applicable for OSPFV3, takes the from of an IPV4 address"
                },
                "areaBorderRouter": {
                    "type": "string",
                    "description": "Area border Router",
                    "enum": [
                        "RFC_3509",
                        "RFC_2328"
                    ]
                },
                "area": {
                    "type": "string",
                    "description": "OSPFV3 area of the network construct. Takes the form of an IPV4 address"
                }
            }
        },
        "OspfcircuitRO": {
            "type": "object",
            "properties": {
                "networkArea": {
                    "type": "string",
                    "description": "Network area in the form of an IPV4 address"
                },
                "cost": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Cost associated with the network interface"
                },
                "carrier": {
                    "type": "string",
                    "description": "Identifies the carrier, ie. Section, Line, GCC0, GCC1. When an interface supports multiple layers, carrier may be required to uniquely identify the entry"
                },
                "identifier": {
                    "type": "string",
                    "description": "Unique identifier for the OSPFv3 circuit"
                },
                "passive": {
                    "type": "string",
                    "description": "ON/OFF enables/disables passive circuit"
                },
                "opaque": {
                    "type": "string",
                    "description": "ON/OFF, enables/disables opaque circuit"
                }
            }
        },
        "OspfcircuitRO_": {
            "type": "object",
            "properties": {
                "networkArea": {
                    "type": "string",
                    "description": "Network area in the form of an IPV4 address"
                },
                "cost": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Cost associated with the network interface"
                },
                "carrier": {
                    "type": "string",
                    "description": "Identifies the carrier, ie. Section, Line, GCC0, GCC1. When an interface supports multiple layers, carrier may be required to uniquely identify the entry"
                },
                "identifier": {
                    "type": "string",
                    "description": "Unique identifier for the OSPFv3 circuit"
                }
            }
        },
        "OtdrPackageRO": {
            "type": "object",
            "properties": {
                "sourceOtdrcfgaId": {
                    "type": "string",
                    "description": "Source otdr capable tpe Id"
                },
                "destinationOtdrcfgaId": {
                    "type": "string",
                    "description": "Destination otdr capable tpe Id"
                },
                "isOtdrCapable": {
                    "type": "string",
                    "description": "flag to indicate that otdr is capable"
                },
                "sourceNcId": {
                    "type": "string",
                    "description": "source NC Id"
                },
                "destinationNcId": {
                    "type": "string",
                    "description": "destination NC id"
                },
                "sourceTraceTimestamp": {
                    "type": "string",
                    "description": "The time of the OTDR trace"
                },
                "destinationTraceTimestamp": {
                    "type": "string",
                    "description": "The time of the OTDR trace"
                },
                "sourceTraceType": {
                    "type": "string",
                    "description": "The type of measured trace"
                },
                "destinationTraceType": {
                    "type": "string",
                    "description": "The type of measured trace"
                }
            }
        },
        "PFibDataRO": {
            "type": "object",
            "properties": {
                "band": {
                    "type": "string",
                    "description": "band name"
                },
                "raman": {
                    "type": "string",
                    "description": "with or without raman value"
                },
                "pFibA": {
                    "type": "string",
                    "description": "PFib-a value"
                },
                "pFibB": {
                    "type": "string",
                    "description": "Pfib-b value"
                }
            }
        },
        "PacketDataRO": {
            "type": "object",
            "properties": {
                "shelf": {
                    "type": "string"
                },
                "eqptGrp": {
                    "type": "string",
                    "description": "The group ID obtained from RTRV-EQPTGRP for the SAOS card on which the entity resides"
                },
                "segmentRouting": {
                    "type": "array",
                    "description": "Holds segment routing configuration data.",
                    "items": {
                        "$ref": "#/definitions/SegmentRoutingRO"
                    }
                },
                "isis": {
                    "type": "array",
                    "description": "Holds ISIS configuration data.",
                    "items": {
                        "$ref": "#/definitions/ISISDataRO"
                    }
                }
            }
        },
        "ParentPolicerRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the parent policer"
                },
                "cir": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Committed Information rate in kbps of this parent policer"
                },
                "cbs": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Committed burst size of this policer"
                },
                "evcList": {
                    "type": "array",
                    "description": "List of services attached to the parent policer",
                    "items": {
                        "type": "string"
                    }
                },
                "adminState": {
                    "type": "string",
                    "description": "Admin state of this parent policer",
                    "enum": [
                        "ENABLED",
                        "DISABLED"
                    ]
                }
            }
        },
        "PhotonicSpectrumPackageRO": {
            "type": "object",
            "properties": {
                "minFreqDeadBand": {
                    "type": "string",
                    "description": "Lower dead band in GHz. The dead band will be in format of 'xxxx.xxx'."
                },
                "maxFreqDeadBand": {
                    "type": "string",
                    "description": "Upper dead band in GHz. The dead band will be in format of 'xxxx.xxx'."
                },
                "targetMinFreq": {
                    "type": "string",
                    "description": "Allows the automatic adjustment of the MINFREQ when any associated NMCTP are deleted. Default is MINFREQ (no target lower frequency)."
                },
                "targetMaxFreq": {
                    "type": "string",
                    "description": "Allows the automatic adjustment of the MAXFREQ when any associated NMCTP are deleted. Default is MAXFREQ (no target upper frequency)."
                },
                "minFreqGuardBand": {
                    "type": "string",
                    "description": "Indicates the minimum required frequency spacing for the previous NMC."
                },
                "maxFreqGuardBand": {
                    "type": "string",
                    "description": "Indicates the minimum required frequency spacing for the next NMC."
                },
                "freqResolution": {
                    "type": "string",
                    "description": "Indicates the recurring frequency step that is allowed to be configured on the transponder."
                },
                "signalBandWidth10DB": {
                    "type": "string",
                    "description": "Captures Tx Signal Bandwidth in GHz measured at 10 dBm less than peak power."
                },
                "signalBandWidth3DB": {
                    "type": "string",
                    "description": "Captures Tx Signal Bandwidth in GHz measured at 3 dBm less than peak power."
                },
                "frequency": {
                    "type": "string",
                    "description": "The central signal frequency."
                },
                "minFreq": {
                    "type": "string",
                    "description": "The minimum signal frequency."
                },
                "maxFreq": {
                    "type": "string",
                    "description": "The maximum signal frequency."
                },
                "width": {
                    "type": "string",
                    "description": "The signal width."
                },
                "wavelength": {
                    "type": "string",
                    "description": "The central signal wavelength."
                },
                "wavelengthGrid ": {
                    "type": "string",
                    "description": "A hexadecimal number representing the vector of wavelengths that can be used by this SNC. Each bit set within the number indicates which wavelength is currently configured"
                }
            }
        },
        "PhyDetailsRO": {
            "type": "object",
            "properties": {
                "phyNumber": {
                    "type": "string",
                    "description": "Phy Number of each FlexE port, e.g. PHY-1, PHY-2, etc."
                },
                "portName": {
                    "type": "string",
                    "description": "Name for FlexE port"
                },
                "slotMappings": {
                    "description": "This package stores the slot-mappings of the FlexE port. Key is the slot number within the FlexE port",
                    "$ref": "#/definitions/SlotMappingsRO"
                }
            }
        },
        "PlannedBandwidthRO": {
            "type": "object",
            "properties": {
                "startTime": {
                    "type": "string",
                    "description": "Start time of metric in UTC"
                },
                "endTime": {
                    "type": "string",
                    "description": "Start time of metric in UTC"
                },
                "expectationId": {
                    "type": "string",
                    "description": "Expectation id of planned capacity"
                },
                "recurrenceRule": {
                    "description": "Recurrence Rule",
                    "$ref": "#/definitions/RecurrenceRuleRO"
                },
                "capacities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                }
            }
        },
        "PowerPackageRO": {
            "type": "object",
            "properties": {
                "txActualPower": {
                    "type": "string",
                    "description": "Current transmitter power (dBm)."
                },
                "txMaxPower": {
                    "type": "string",
                    "description": "Maximum transmitter power level (dBm)."
                },
                "txMinPower": {
                    "type": "string",
                    "description": "Minimum transmitter power level (dBm)."
                },
                "txCurrentLaunchPower": {
                    "type": "string",
                    "description": "Current launch power level (dBm)."
                },
                "txMinLaunchPower": {
                    "type": "string",
                    "description": "Minimum launch power level (dBm)."
                },
                "rxActualPower": {
                    "type": "string",
                    "description": "Current receiver power (dBm)."
                },
                "rxMaxPower": {
                    "type": "string",
                    "description": "Maximum receiver power level (dBm)."
                },
                "rxMinPower": {
                    "type": "string",
                    "description": "Minimum receiver power level (dBm)."
                },
                "rxNominalInput": {
                    "type": "string",
                    "description": "Typical per channel operational power (dBm)."
                },
                "rxOverloadThreshold": {
                    "type": "string",
                    "description": "Maximum per channel operational power (dBm)."
                },
                "rxSensitivityThreshold": {
                    "type": "string",
                    "description": "Mininum per channel operational power (dBm)."
                }
            }
        },
        "PreemptionBandwidthDataRO": {
            "type": "object",
            "properties": {
                "ODU0": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                },
                "ODU1": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                },
                "ODU2": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                },
                "ODU2E": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                },
                "ODU3": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                },
                "ODU4": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                },
                "ODUFLEXRSZ": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                },
                "ODUFLEXNRSZ": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/BwRO"
                }
            }
        },
        "PreemptionBandwidthRO": {
            "type": "object",
            "properties": {
                "extraTraffic": {
                    "$ref": "#/definitions/PreemptionBandwidthDataRO"
                },
                "preemptable": {
                    "$ref": "#/definitions/PreemptionBandwidthDataRO"
                },
                "nonPreemptable": {
                    "$ref": "#/definitions/PreemptionBandwidthDataRO"
                }
            }
        },
        "PrefixSidMapRO": {
            "type": "object",
            "properties": {
                "prefix": {
                    "type": "string",
                    "description": "isis loopback prefix."
                },
                "prefixSid": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Prefix SID/Node SID allocated."
                },
                "sidRange": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Describes range of SIDs could be allocated."
                },
                "valueType": {
                    "type": "string",
                    "description": "Describes how sid value must be interpreted.",
                    "enum": [
                        "INDEX",
                        "ABSOLUTE"
                    ]
                },
                "interface": {
                    "type": "string",
                    "description": "isis loopback interface name."
                }
            }
        },
        "ProvisioningAttributesRO": {
            "type": "object"
        },
        "RRConfigRO": {
            "type": "object",
            "properties": {
                "configured": {
                    "type": "boolean",
                    "description": "A flag to check if RR configured or not.",
                    "default": false
                },
                "clusters": {
                    "type": "array",
                    "description": "Holds data related to Clusters configured on RR",
                    "items": {
                        "$ref": "#/definitions/ClusterRO"
                    }
                }
            }
        },
        "RangeRO": {
            "type": "object",
            "properties": {
                "minValue": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This defines the min value for the range."
                },
                "maxValue": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This defines the max value for the range."
                }
            }
        },
        "RangesEntryRO": {
            "type": "object",
            "properties": {
                "label": {
                    "type": "string",
                    "description": "The cvid range to be used."
                },
                "type": {
                    "type": "string",
                    "description": "The vlan-range-type parameter",
                    "enum": [
                        "STRICT",
                        "GROUP"
                    ]
                }
            }
        },
        "RecurrenceRuleRO": {
            "type": "object",
            "properties": {
                "frequency": {
                    "type": "string",
                    "description": "frequency of recurrence",
                    "enum": [
                        "MINUTELY",
                        "HOURLY",
                        "DAILY",
                        "WEEKLY",
                        "MONTHLY",
                        "YEARLY"
                    ]
                },
                "interval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "interval of frequency"
                },
                "until": {
                    "type": "string",
                    "description": "end time of recurrence in UTC"
                },
                "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "total count of recurring event"
                }
            }
        },
        "RegenIdPackageRO": {
            "type": "object",
            "properties": {
                "regenTid": {
                    "type": "string",
                    "description": "This field is the Regen ID Tid"
                },
                "nearTransponder": {
                    "type": "string",
                    "description": "This field is near Transponder Shelf SLot Port."
                },
                "clientTransponder": {
                    "type": "string",
                    "description": "The Client Transponder Shelf SLot Port"
                },
                "mateInfo": {
                    "type": "string",
                    "description": "This field is Mate Info String."
                }
            }
        },
        "ResiliencyHandlingEdgeRO": {
            "type": "object",
            "properties": {
                "switchTpeId": {
                    "type": "string",
                    "description": "The ID of the CTPs in the physical view"
                },
                "clientTpeId": {
                    "type": "string",
                    "description": "The ID of the client PTP connected to the switch"
                }
            }
        },
        "ResiliencyHandlingPackageRO": {
            "type": "object",
            "properties": {
                "layerRateStack": {
                    "type": "array",
                    "description": "ordered list of layerRates",
                    "items": {
                        "type": "string",
                        "enum": [
                            "ETHERNET",
                            "OTU1",
                            "OTU2",
                            "OTU2e",
                            "OTU3",
                            "OTU4",
                            "OTUCn",
                            "OTSi",
                            "OMS",
                            "OS",
                            "PHY",
                            "OTS",
                            "FICON",
                            "FC",
                            "ODU",
                            "ODU0",
                            "ODU1",
                            "ODU2",
                            "ODU2e",
                            "ODU3",
                            "ODU4",
                            "ODUCn",
                            "DSR",
                            "DSR_10GE",
                            "DSR_100GE",
                            "DSR_ETHERNET",
                            "ENCAPSULATION",
                            "MPLS",
                            "MPLS_PROTECTION",
                            "MEDIA",
                            "LAG",
                            "RS",
                            "E0",
                            "E1",
                            "E3",
                            "E1_2M",
                            "EC1",
                            "DSR_2M",
                            "LINE_OC3_STS3_AND_MS_STM1",
                            "SECTION_OC3_STS3_AND_RS_STM1",
                            "DSR_OC3_STM1",
                            "DSR_OC12_STM4",
                            "DSR_OC48_STM16",
                            "DSR_OC192_STM64",
                            "CES_IWF",
                            "T1",
                            "DSR_1_5M",
                            "STS1",
                            "STS3C",
                            "STS12C",
                            "STS24C",
                            "STS48C",
                            "STS192C",
                            "DS0",
                            "DS1",
                            "DS3",
                            "VT15",
                            "VT2",
                            "NOT_APPLICABLE",
                            "ODUFLEX",
                            "OTUg",
                            "ODUg",
                            "BGP",
                            "G8032",
                            "FLEXE_GROUP",
                            "FLEXE",
                            "VC3",
                            "VC4",
                            "VC4_4C",
                            "VC4_8C",
                            "VC4_16C",
                            "VC4_64C",
                            "VC11",
                            "VC12",
                            "IP",
                            "ES",
                            "CBR"
                        ]
                    }
                },
                "edges": {
                    "type": "array",
                    "description": "hold the pairs of ID of the CTPs from the physical view and its client PTP ID, for the eFRE endpoints.",
                    "items": {
                        "$ref": "#/definitions/ResiliencyHandlingEdgeRO"
                    }
                },
                "commonEdgeTpeId": {
                    "type": "string",
                    "description": "the ID of the common CTP in the physical view"
                },
                "direction": {
                    "type": "string",
                    "description": "the direction of the resiliency service",
                    "enum": [
                        "Tx",
                        "Rx"
                    ]
                }
            }
        },
        "ResiliencyTopologyPackageRO": {
            "type": "object",
            "properties": {
                "switchTpeId": {
                    "type": "string",
                    "description": "Switch port client TPE"
                },
                "resilientFreId": {
                    "type": "string",
                    "description": "Resilient nodal fre id"
                }
            }
        },
        "RestorationHealthRO": {
            "type": "object",
            "properties": {
                "totalExplicitRoutes": {
                    "type": "integer",
                    "format": "int32"
                },
                "availableExplicitRoutes": {
                    "type": "integer",
                    "format": "int32"
                },
                "unavailableExplicitRoutes": {
                    "type": "integer",
                    "format": "int32"
                },
                "availablePercentage": {
                    "type": "integer",
                    "format": "int32"
                },
                "unavailablePercentage": {
                    "type": "integer",
                    "format": "int32"
                },
                "homeAvailable": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "RouteConstraintsRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "The route type i.e. photonic. In the future, other types may be supported.",
                    "enum": [
                        "photonic"
                    ]
                },
                "numberOfRoutes": {
                    "type": "string",
                    "description": "Number of routes defined by the configuration. For example, a PRIME/MEMBER configuration.  Could be a number, or could be a number evident from the model i.e. inverseMux. Generally, should only be specified if the configuration implies more than 1 route."
                },
                "sizeOfEachRoute": {
                    "type": "string",
                    "description": "For each route, what is the required size of each route. For example, '200G' in the case of 400G WLAi OTR 2xOTSi."
                },
                "maxInCpGroup": {
                    "type": "string",
                    "description": "Maximum number of routes that can be present in a control plane group. Could be a number, or could be a number evident n the model i.e. inverseMux."
                },
                "routeCharacteristic": {
                    "type": "string",
                    "description": "If multiple routes need to be defined, what's the relationship between the routes.",
                    "enum": [
                        "coRouted",
                        "maximumDiversity"
                    ]
                },
                "signalPattern": {
                    "type": "string",
                    "description": "If photonic route type, specifies the frequency or wavelength pattern to choose for the routes.",
                    "enum": [
                        "adjacent"
                    ]
                }
            }
        },
        "RoutingConstraintsRO": {
            "type": "object",
            "properties": {
                "isRouteExclusive": {
                    "type": "boolean",
                    "description": "Route exclusive true/false",
                    "default": false
                },
                "maxCost": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Max cost"
                },
                "identifier": {
                    "type": "string",
                    "description": "The identifier to the decomposed fre"
                },
                "routeExclusivity": {
                    "type": "string",
                    "description": "Specifies type of route exclusivity",
                    "enum": [
                        "Working",
                        "WorkingProtect",
                        "Preferred",
                        "No",
                        "Yes",
                        "Disable"
                    ]
                },
                "maxProtectCost": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The maximum allowable weight/cost of the ProtectRoute"
                },
                "costCriteria": {
                    "type": "string",
                    "description": "Defines Cost Criteria between admin wt or latency",
                    "enum": [
                        "Delay",
                        "AdminWeight"
                    ]
                },
                "protectionClass": {
                    "type": "string",
                    "description": "service class of protection for the SNC.",
                    "enum": [
                        "UNPROTECTED_HIGH",
                        "UNPROTECTED_LOW"
                    ]
                },
                "homeCostPreference": {
                    "type": "string",
                    "description": "Available Cost Preferences for home and protect path of SNC",
                    "enum": [
                        "Mandatory",
                        "BestEffort",
                        "Disable"
                    ]
                },
                "protectCostPreference": {
                    "type": "string",
                    "description": "Available Cost Preferences for home and protect path of SNC",
                    "enum": [
                        "Mandatory",
                        "BestEffort",
                        "Disable"
                    ]
                },
                "isGroupingForCoroutingRequired": {
                    "type": "boolean",
                    "description": "Specifies if the FRE should be part of a group",
                    "default": false
                },
                "inclusionConstraints": {
                    "$ref": "#/definitions/AssociationObjectAttributesRO"
                },
                "exclusionConstraints": {
                    "$ref": "#/definitions/AssociationObjectAttributesRO"
                }
            }
        },
        "SRServiceCatalogAdditionalConstraintsRO": {
            "type": "object",
            "properties": {
                "diverseSource": {
                    "type": "string",
                    "description": "Diverse Source (when PE Diverse)"
                },
                "diverseEndpoint": {
                    "type": "string",
                    "description": "Diverse EndPoint (when PE Diverse)"
                },
                "general": {
                    "description": "General Options",
                    "$ref": "#/definitions/GeneralRO"
                },
                "protection": {
                    "description": "SR Protection Path Attribute",
                    "$ref": "#/definitions/SrProtectionPathAttributesRO"
                },
                "inclusionConstraints": {
                    "description": "SR Service Catalog Node Attributes",
                    "$ref": "#/definitions/SRServiceCatalogNodeAttributesRO"
                },
                "exclusionConstraints": {
                    "description": "SR Service Catalog Node Attributes",
                    "$ref": "#/definitions/SRServiceCatalogNodeAttributesRO"
                }
            }
        },
        "SRServiceCatalogNodeAttributesRO": {
            "type": "object",
            "properties": {
                "nodes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NodeWithTypeRO"
                    }
                },
                "interfaces": {
                    "type": "array",
                    "description": "List of interfaces",
                    "items": {
                        "type": "string"
                    }
                },
                "srlg": {
                    "type": "array",
                    "description": "List of SrLg",
                    "items": {
                        "type": "string"
                    }
                },
                "affinity": {
                    "description": "Affinity Options",
                    "$ref": "#/definitions/AffinityRO"
                }
            }
        },
        "SegmentDataRO": {
            "type": "object",
            "properties": {
                "index": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment index"
                },
                "segmentType": {
                    "type": "string",
                    "description": "Types of segments",
                    "enum": [
                        "A",
                        "C",
                        "F"
                    ]
                },
                "value": {
                    "type": "object",
                    "description": "MPLS Label value/Segment declared by IPv4 prefix"
                },
                "localIpv4Address": {
                    "type": "object",
                    "description": "Segment local IPv4 adjacency address"
                },
                "remoteIpv4Address": {
                    "type": "object",
                    "description": "Segment remote IPv4 adjacency address"
                },
                "sidValue": {
                    "type": "string",
                    "description": "Segment list label value"
                },
                "ipAddress": {
                    "type": "string",
                    "description": "Segment list loopback IP address"
                }
            }
        },
        "SegmentListDataRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "object",
                    "description": "Reference to Segment-list name"
                },
                "weight": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Segment-list weighted loadshare"
                },
                "valid": {
                    "type": "boolean",
                    "description": "Segment-list valid or not",
                    "default": false
                },
                "invalidationReason": {
                    "type": "string",
                    "description": "Specifies reason for paths which are invalid"
                },
                "segments": {
                    "type": "array",
                    "description": "Segments for given segment list",
                    "items": {
                        "$ref": "#/definitions/SegmentDataRO"
                    }
                }
            }
        },
        "SegmentRoutingRO": {
            "type": "object",
            "properties": {
                "supportingProtocol": {
                    "type": "array",
                    "description": "Protocol supporting segment routing.",
                    "items": {
                        "type": "object"
                    }
                },
                "srgbRange": {
                    "description": "Holds label range data.",
                    "$ref": "#/definitions/LabelRangeRO"
                },
                "bindingSidRange": {
                    "description": "Holds label range data.",
                    "$ref": "#/definitions/LabelRangeRO"
                },
                "prefixType": {
                    "type": "string",
                    "description": "Describes how sid value must be interpreted.",
                    "enum": [
                        "INDEX",
                        "ABSOLUTE"
                    ]
                },
                "startSid": {
                    "type": "integer",
                    "format": "int32",
                    "description": "SID value associated with prefix."
                },
                "sidRange": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Describes range of SIDs could be allocated."
                },
                "algorithm": {
                    "type": "string",
                    "description": "Prefix-sid algorithm."
                },
                "lastHopBehavior": {
                    "type": "string",
                    "description": "Last-Hop behavior.",
                    "enum": [
                        "EXPLICIT_NULL",
                        "NO_PHP",
                        "PHP",
                        "N_FLAG_CLEAR"
                    ]
                }
            }
        },
        "ServicePriorityRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Service Priority Name"
                },
                "description": {
                    "type": "string",
                    "description": "Service Priority Description"
                },
                "cos": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Service Priority Cos"
                },
                "quota": {
                    "type": "string",
                    "description": "Service Priority Quota"
                }
            }
        },
        "ServiceRefreshRO": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string",
                    "description": "Enumeration of the various FRE refresh life cycle states",
                    "enum": [
                        "PENDING",
                        "FAILED",
                        "CALCULATING_DTLS",
                        "FOUND_DTLS",
                        "NO_DTLS_FOUND",
                        "UNSUPPORTED",
                        "PROVISIONING_DTLSET",
                        "DTLSET_PROVISIONED",
                        "PROVISIONING_DTLSET_FAILED",
                        "UPDATING_SNCG",
                        "UPDATE_SNCG_FAILED",
                        "SNC_REFRESH_COMPLETED"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "Details with further information about the status (e.g. failure reasons)"
                }
            }
        },
        "ShelfDataRO": {
            "type": "object",
            "properties": {
                "shelfNumber": {
                    "type": "string",
                    "description": "This represents the shelf number of the shelf"
                },
                "shelfIP": {
                    "type": "string",
                    "description": "This represents the IP address of the shelf"
                },
                "estimatedPower": {
                    "type": "string",
                    "description": "This represents the Estimated Power of the shelf"
                },
                "colanIP": {
                    "type": "string",
                    "description": "This represents the COLAN IP of the shelf"
                },
                "GNE": {
                    "type": "string",
                    "description": "This represents the GNE status of the shelf"
                },
                "l2motrBandwidthProfiles": {
                    "type": "array",
                    "description": "A list of L2motr bandwidth profiles ",
                    "items": {
                        "$ref": "#/definitions/L2MotrBandwidthProfilesDataRO"
                    }
                }
            }
        },
        "SignalIndexRO": {
            "type": "object",
            "properties": {
                "wavelength": {
                    "type": "string",
                    "description": "The signal wavelength (nm)."
                },
                "wavelengthMin": {
                    "type": "string",
                    "description": "The minimum signal wavelength."
                },
                "wavelengthMax": {
                    "type": "string",
                    "description": "The maximum signal wavelength."
                },
                "index": {
                    "type": "string",
                    "description": "The signal index. Indicates a time slot."
                },
                "odu2_index": {
                    "type": "string",
                    "description": "The odu2 index. Indicates a time slot or tributary port number."
                },
                "odu3_index": {
                    "type": "string",
                    "description": "The odu3 index. Indicates a time slot or tributary port number."
                },
                "odu4_index": {
                    "type": "string",
                    "description": "The odu4 index. Indicates a time slot or tributary port number."
                },
                "oduCn_index": {
                    "type": "string",
                    "description": "The oduCn index. Indicates a time slot or tributary port number."
                },
                "eth_index": {
                    "type": "string",
                    "description": "The eth index."
                },
                "indexes": {
                    "description": "Map of index attributes to represent more than one indexes per LT. Plan is to remove above odu2_index, odu4_index & oduCn_index signal attributes in future and use this one",
                    "$ref": "#/definitions/IndexesRO"
                },
                "channels": {
                    "type": "array",
                    "description": "Indicates the list of discrete channels utilized e.g. tributary slots on broadband cards. Plans are to utilize this generically for any list of discrete list of signals.",
                    "items": {
                        "type": "string"
                    }
                },
                "ots_index": {
                    "type": "string",
                    "description": "The ots index. Indicates a time slot."
                },
                "phy_index": {
                    "type": "string",
                    "description": "The physical index. Indicates a time slot."
                },
                "mappingTable": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MappingTableEntryRO"
                    }
                },
                "frequency": {
                    "type": "string",
                    "description": "The central signal frequency."
                },
                "minFreq": {
                    "type": "string",
                    "description": "The minimum signal frequency."
                },
                "maxFreq": {
                    "type": "string",
                    "description": "The maximum signal frequency."
                },
                "width": {
                    "type": "string",
                    "description": "The signal width."
                },
                "mgmtMcId": {
                    "type": "string",
                    "description": "The management identifier of the media channel"
                },
                "isCatchAll": {
                    "type": "string",
                    "description": "isCatch all enabled on this port"
                }
            }
        },
        "SlddRO": {
            "type": "object",
            "properties": {
                "adminState": {
                    "type": "string",
                    "description": "ON/OFF enables/disables SLDD"
                },
                "config": {
                    "type": "string",
                    "description": "AUTO/MANUAL When set to auto the scope id will be automatically re-provisioned when the Site Id changed"
                },
                "scopeid": {
                    "type": "integer",
                    "format": "int32",
                    "description": "AR/TR records are distributed to all shelves with the same scope id. 0-65535"
                }
            }
        },
        "SlmResponderRO": {
            "type": "object",
            "properties": {
                "testId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The ID of the test"
                },
                "remoteMepId": {
                    "type": "string",
                    "description": "The ID of the remote MEP"
                }
            }
        },
        "SlotMappingsRO": {
            "type": "object"
        },
        "SncPreemptionPackageRO": {
            "type": "object",
            "properties": {
                "setupPriority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Setup Priority of SNC"
                },
                "holdingPriority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Holding Priority of SNC"
                },
                "preemptionLevel": {
                    "type": "string",
                    "description": "Combined level of setup and holding priority"
                }
            }
        },
        "SncpPackageRO": {
            "type": "object",
            "properties": {
                "peerOsrpNodeName": {
                    "type": "string"
                },
                "peerRole": {
                    "type": "string",
                    "enum": [
                        "WORKING",
                        "PROTECT"
                    ]
                },
                "peerIdentifier": {
                    "type": "string"
                },
                "srcEpShared": {
                    "type": "boolean",
                    "default": false
                },
                "destEpShared": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "SrPolicyRO": {
            "type": "object",
            "properties": {
                "headEnd": {
                    "type": "string",
                    "description": "Where the SR Policy is instantiated (implemented)"
                },
                "endPoint": {
                    "type": "string",
                    "description": "The destination of the SR Policy"
                },
                "color": {
                    "type": "integer",
                    "format": "int32",
                    "description": "A numerical value to differentiate multiple SR-TE Policies between the same pair of nodes"
                },
                "catalog": {
                    "type": "string",
                    "description": "A transport policy type"
                },
                "fallback": {
                    "type": "boolean",
                    "description": "Fallback to default network routing in case SR-TE policy unavailable",
                    "default": false
                }
            }
        },
        "SrProtectionPathAttributesRO": {
            "type": "object",
            "properties": {
                "nodeDiverse": {
                    "type": "boolean",
                    "description": "Node Diverse",
                    "default": false
                },
                "linkDiverse": {
                    "type": "boolean",
                    "description": "linkDiverse",
                    "default": false
                },
                "srlgDiverse": {
                    "type": "boolean",
                    "description": "SRLG Diverse",
                    "default": false
                },
                "peDiverse": {
                    "type": "boolean",
                    "description": "PE Diverse",
                    "default": false
                },
                "transportSRLGDiverse": {
                    "type": "boolean",
                    "description": "transportSRLGDiverse",
                    "default": false
                }
            }
        },
        "SrTeBindingSidRO": {
            "type": "object",
            "properties": {
                "bindingAllocMode": {
                    "type": "string",
                    "description": "Binding SID allocation mode. It can be either Explicitly specified BSID or Dynamically allocated BSID",
                    "enum": [
                        "explicit",
                        "dynamic"
                    ]
                },
                "dataplaneType": {
                    "type": "string",
                    "description": "Dataplane type of the segments. Can be either Segment-routing MPLS or Segment-routing v6",
                    "enum": [
                        "mpls",
                        "srv6"
                    ]
                },
                "bindingAllocatedSid": {
                    "type": "string",
                    "description": "Allocated SID value for the binding SID"
                }
            }
        },
        "SrTeCandidatePathsDataRO": {
            "type": "object",
            "properties": {
                "protocolOrigin": {
                    "type": "string",
                    "description": "Instantiation mechanism used to create the candidate path",
                    "enum": [
                        "local",
                        "bgp",
                        "pcep"
                    ]
                },
                "originator": {
                    "type": "string",
                    "description": "Identifier (concatenation of ASN and node-address) of the node that signalled/instantiated the candidate path on headend"
                },
                "discriminator": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Candidate path distinguisher"
                },
                "preference": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Candidate path preference"
                },
                "name": {
                    "type": "string",
                    "description": "Candidate path name"
                },
                "description": {
                    "type": "string",
                    "description": "Candidate path description"
                },
                "isBestCandiatePath": {
                    "type": "boolean",
                    "description": "Best Candidate Path",
                    "default": false
                },
                "candidatePathType": {
                    "type": "string",
                    "description": "Type of candidate paths"
                },
                "segmentLists": {
                    "type": "array",
                    "description": "Segment List Properties",
                    "items": {
                        "$ref": "#/definitions/SegmentListDataRO"
                    }
                }
            }
        },
        "StateHistoryRO": {
            "type": "object",
            "properties": {
                "time": {
                    "type": "string"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "NOT_SYNCHRONIZED",
                        "SYNCHRONIZING",
                        "SYNCHRONIZED",
                        "FAILED",
                        "ABORTED",
                        "DELETING",
                        "DELETE_FAILED",
                        "TIMEOUT"
                    ]
                }
            }
        },
        "StaticRouteRO": {
            "type": "object",
            "properties": {
                "vrfName": {
                    "type": "string",
                    "description": "The name of the vrf instance"
                },
                "vrfId": {
                    "type": "string",
                    "description": "The id of the vrf instance"
                },
                "l3VpnId": {
                    "type": "string",
                    "description": "The id of the l3vpn service"
                },
                "destinationPrefix": {
                    "type": "string",
                    "description": "destination address"
                },
                "dropTraffic": {
                    "type": "boolean",
                    "description": "silently discard the packet",
                    "default": false
                },
                "nextHopIp": {
                    "type": "string",
                    "description": "next hop address"
                },
                "outgoingInterfaceName": {
                    "type": "string",
                    "description": "name of the outgoing interface"
                },
                "routePreference": {
                    "type": "integer",
                    "format": "int32",
                    "description": "administrative distance"
                },
                "tag": {
                    "type": "integer",
                    "format": "int32",
                    "description": "route tag"
                },
                "description": {
                    "type": "string",
                    "description": "description of the route"
                },
                "routeSelected": {
                    "type": "boolean",
                    "description": "preferred route among all routes that have the same destination prefix",
                    "default": false
                }
            }
        },
        "StitchingTriggersRO": {
            "type": "object",
            "properties": {
                "partitioningFreConcreteIds": {
                    "type": "array",
                    "description": "List of physical FRE IDs for which stitcher should add a concrete relationship to on the stitched FRE",
                    "items": {
                        "type": "string"
                    }
                },
                "protectingFreConcreteIds": {
                    "type": "array",
                    "description": "List of physical FRE IDs for which stitcher should add a concrete relationship to on the stitched resiliency FRE, where there is an EncapsulatedResiliency with a protectionScheme defined.",
                    "items": {
                        "type": "string"
                    }
                },
                "backpropagateTpeId": {
                    "type": "string",
                    "description": "Stitcher uses backpropagte TPE id while creating FRE in physical view"
                }
            }
        },
        "SupportedByLayerRatePackageRO": {
            "type": "object",
            "properties": {
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                }
            }
        },
        "SyncStateRO": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string",
                    "enum": [
                        "NOT_SYNCHRONIZED",
                        "SYNCHRONIZING",
                        "SYNCHRONIZED",
                        "FAILED",
                        "ABORTED",
                        "DELETING",
                        "DELETE_FAILED",
                        "TIMEOUT"
                    ]
                },
                "additionalText": {
                    "type": "string"
                },
                "lastStateUpdated": {
                    "type": "string"
                },
                "lastSynchronized": {
                    "type": "string"
                },
                "stateHistory": {
                    "type": "array",
                    "description": "list of state and time history.",
                    "items": {
                        "$ref": "#/definitions/StateHistoryRO"
                    }
                }
            }
        },
        "TandemConnectionMonitoringRO": {
            "type": "object",
            "properties": {
                "nativeName": {
                    "type": "string",
                    "description": "The name of the TCM TPE that is native to the network element."
                },
                "userLabel": {
                    "type": "string",
                    "description": "The label given to the TCM TPE by an user"
                },
                "owner": {
                    "type": "string",
                    "description": "Identifies who created the TCM facility"
                },
                "suppTpeNativeName": {
                    "type": "string",
                    "description": "The supporting Termination Point"
                },
                "mode": {
                    "type": "string",
                    "description": "Identifies the mode of the TCM"
                },
                "state": {
                    "type": "string",
                    "description": "Primary State of TCM CTP"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "TerminationRO": {
            "type": "object",
            "properties": {
                "connectionRulesInOwnLayer": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConnectionRuleRO"
                    }
                }
            }
        },
        "TopologyRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "The ID resource type"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the referenced resource"
                },
                "name": {
                    "type": "string",
                    "description": "The port name in the referenced resource or its expectation"
                }
            }
        },
        "TpeAttributesRO": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string",
                    "description": "State of the TPE.",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AUMA"
                    ]
                },
                "suppressPort": {
                    "type": "boolean",
                    "description": "Value for alarm suppression",
                    "default": false
                },
                "userData": {
                    "description": "User data",
                    "$ref": "#/definitions/UserDataRO"
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "displayData": {
                    "$ref": "#/definitions/TpeDisplayDataRO"
                },
                "resourceState": {
                    "type": "string",
                    "description": "Nsi Resource State.",
                    "enum": [
                        "root",
                        "planned",
                        "discovered",
                        "plannedAndDiscovered",
                        "unknown"
                    ]
                },
                "bookingData": {
                    "description": "Bandwidth booking data",
                    "$ref": "#/definitions/BookingDataRO"
                },
                "policies": {
                    "description": "Policies for attributes.",
                    "$ref": "#/definitions/AttributePoliciesRO"
                },
                "structureType": {
                    "type": "string",
                    "enum": [
                        "PTP",
                        "FTP",
                        "CTP_SERVER_TO_CLIENT",
                        "CTP_CLIENT_TO_SERVER",
                        "CTP_CLIENT_TO_CLIENT",
                        "CTP_SERVER_TO_DOMAIN"
                    ]
                },
                "structureSubType": {
                    "type": "string",
                    "enum": [
                        "osrpLink",
                        "osrpLine",
                        "regen"
                    ]
                },
                "tpeSpec": {
                    "type": "string",
                    "description": "Name of TPESpec describing this TPE instance. FUTURE: enumerated value, part of TPESpec catalog."
                },
                "tpeGroupSpecs": {
                    "type": "array",
                    "description": "Names of TPEGSpec-s this TPE belongs to. FUTURE: enumerated value, part of TPEGSpec catalog.",
                    "items": {
                        "type": "string"
                    }
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the TPE that is native to the network element"
                },
                "userLabel": {
                    "type": "string",
                    "description": "The label given to the TPE by an user"
                },
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "layerTerminations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LayerTerminationRO"
                    }
                },
                "stackDirection": {
                    "type": "string",
                    "enum": [
                        "client_to_server",
                        "server_to_client",
                        "bidirectional",
                        "horizontal_unidirectional",
                        "unknown"
                    ]
                },
                "displayAlias": {
                    "type": "string",
                    "description": "The displayAlias of the TPE"
                },
                "dynamicFgiSpecificationRefList": {
                    "type": "array",
                    "description": "A list of dynamic Forwarding Group assignments.  Each assignment costs of the fGNane, FGVersion, and FGInstance.  E.g 'May_Comment:1.0.0:1234'",
                    "items": {
                        "type": "string"
                    }
                },
                "fgiSpecificationRefList": {
                    "type": "array",
                    "description": "A list of Forwarding Group assignments.  Each assignment costs of the fGNane, FGVersion, and FGInstance.  E.g 'May_Comment:1.0.0:1234'",
                    "items": {
                        "type": "string"
                    }
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "availableCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "capacityReservations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityReservationRO"
                    }
                },
                "cardType": {
                    "type": "string"
                },
                "category": {
                    "type": "string",
                    "enum": [
                        "CHANNEL_TX",
                        "CHANNEL_RX",
                        "OTN_ACCESS"
                    ]
                },
                "roadmLine": {
                    "type": "string"
                },
                "syncScopes": {
                    "type": "array",
                    "description": "The sync scope for the TPE",
                    "items": {
                        "$ref": "#/definitions/SyncScopeRO"
                    }
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "active": {
                    "type": "boolean",
                    "description": "An indicator to flag when a TPE is active, or simply a potential.",
                    "default": false
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRuleRO"
                },
                "lifeCycleOwner": {
                    "type": "string",
                    "description": "Specifies who owns the lifecycle of a TPE"
                },
                "provisioningAttributes": {
                    "description": "Indicates attributes that are used solely in the provisioning workflow. These attributes would not be reported on discovery, but aid in the provisioning workflow.",
                    "$ref": "#/definitions/ProvisioningAttributesRO"
                },
                "capabilitySpecification": {
                    "description": "Defines a capability specification; normally for a TPE but can be utilized elsewhere in the future.",
                    "$ref": "#/definitions/CapabilitySpecRO"
                },
                "cardMode": {
                    "type": "string",
                    "description": "Provides a means to differentiate different configurations of the card setup. For example, WLAi 400G OTR has several configuration options for 400G line service rate.",
                    "enum": [
                        "maxReach",
                        "maxCapacity",
                        "maxReach_Regen",
                        "maxCapacity_Regen",
                        "undetermined"
                    ]
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the associated NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "customerCode": {
                    "type": "string",
                    "description": "Customer code"
                },
                "owningServerTpeListType": {
                    "type": "string",
                    "description": "Owning server tpe list type.",
                    "enum": [
                        "uniDecomposed",
                        "inverseMux",
                        "none"
                    ]
                },
                "resiliencyHandlingPackage": {
                    "type": "array",
                    "description": " triggers stitcher building resiliency view and NSI updating layerRate in resiliency view",
                    "items": {
                        "$ref": "#/definitions/ResiliencyHandlingPackageRO"
                    }
                },
                "resiliencyPackage": {
                    "description": "The resiliency package contains attributes only appear in resiliency view.",
                    "$ref": "#/definitions/TpeResiliencyPackageRO"
                },
                "parentEBBWConstraint": {
                    "description": "Virtual TPe reference for constraints update",
                    "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                },
                "parentEBFREBWConstraint": {
                    "description": "Virtual TPe reference for constraints update",
                    "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                },
                "parentEBBWConstraintList": {
                    "type": "array",
                    "description": "A list of Virtual TPEs as BW constraint.",
                    "items": {
                        "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                    }
                },
                "parentEBFREBWConstraintList": {
                    "type": "array",
                    "description": "A list of Virtual TPEs as FRE constraint.",
                    "items": {
                        "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                    }
                },
                "stitchingTriggers": {
                    "$ref": "#/definitions/StitchingTriggersRO"
                },
                "plannedEndpointRole": {
                    "type": "string",
                    "description": "The role that this end point plays for multicast FRE.",
                    "enum": [
                        "drop",
                        "source"
                    ]
                },
                "gneSubnetName": {
                    "type": "string",
                    "description": "The GNE Subnet Name of the TPE"
                },
                "displayRate": {
                    "type": "string",
                    "description": "DisplayRate of TPE, for instance BITRATE of ODUTTP in case of ODUFLEX/ETHFLEX rate TPE"
                },
                "referencedByAssociations": {
                    "type": "array",
                    "description": "A list of associations of fres that would refer to this tpe",
                    "items": {
                        "$ref": "#/definitions/AssociationRO"
                    }
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group .",
                    "items": {
                        "type": "string"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared SRLG of this TPE .",
                    "items": {
                        "type": "string"
                    }
                },
                "externalFgiSpecsRefList": {
                    "type": "array",
                    "description": "List of External Forwarding Group assignments.",
                    "items": {
                        "type": "string"
                    }
                },
                "ethernetSegment": {
                    "description": "Ethernet segment",
                    "$ref": "#/definitions/EthernetSegmentRO"
                },
                "evpn": {
                    "description": "Package that holds Ethernet Virtual Private Network data",
                    "$ref": "#/definitions/EvpnRO"
                }
            }
        },
        "TpeCfmPackageRO": {
            "type": "object",
            "properties": {
                "cfmServiceName": {
                    "type": "string",
                    "description": "The name of the CFM service"
                },
                "mep": {
                    "type": "array",
                    "description": "Each entry holds information about one Maintenance Endpoint configured on this TPE",
                    "items": {
                        "$ref": "#/definitions/MepEntryRO"
                    }
                }
            }
        },
        "TpeDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the TPE resource"
                },
                "type": {
                    "type": "string",
                    "description": "The TPE resource type",
                    "enum": [
                        "tpes"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/TpeAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/TpeRelationshipsRO"
                }
            }
        },
        "TpeDisplayDataRO": {
            "type": "object",
            "properties": {
                "displayNativeName": {
                    "type": "string",
                    "description": "The name of the TPE that we want UI to display if it is different than nativeName"
                }
            }
        },
        "TpeListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TpeDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Referenced sub-resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "TpeRelationshipsRO": {
            "type": "object",
            "properties": {
                "tpePlanned": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "tpeExpectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "tpeDiscovered": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstructAssociation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipment": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "owningServerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "clientTpes": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "owningServerTpeList": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "owningPeerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "ownedPeerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partnerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "owningClientTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "controller": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "configurationAndSwitchControl": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "TpeResiliencyPackageRO": {
            "type": "object",
            "properties": {
                "role": {
                    "type": "string",
                    "description": "the role of the tpe",
                    "enum": [
                        "Protected",
                        "Working",
                        "Protecting"
                    ]
                },
                "resiliencyType": {
                    "type": "string",
                    "description": "resiliencyType",
                    "enum": [
                        "TPT",
                        "OPS"
                    ]
                }
            }
        },
        "TrafficProfileParamRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of attribute."
                },
                "value": {
                    "type": "string",
                    "description": "Value of attribute."
                },
                "selectFrom": {
                    "type": "array",
                    "description": "Alternate form of value attribute that permits a comma separated list of the choices available for selection.",
                    "items": {
                        "type": "string"
                    }
                },
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "location": {
                    "type": "string",
                    "description": "If an input, where to find the attribute. If an output, where to set the attribute.",
                    "enum": [
                        "self",
                        "intent",
                        "farEnd",
                        "immediateClientTpe"
                    ]
                }
            }
        },
        "TrafficProfileRO": {
            "type": "object",
            "properties": {
                "inputParams": {
                    "type": "array",
                    "description": "List of input parameters to be matched to derive the correct trafficProfile for the use-case.",
                    "items": {
                        "$ref": "#/definitions/TrafficProfileParamRO"
                    }
                },
                "trafficParams": {
                    "type": "array",
                    "description": "List of traffic parameters that must be used as input in the use-case.",
                    "items": {
                        "$ref": "#/definitions/TrafficProfileParamRO"
                    }
                },
                "routeConstraints": {
                    "description": "Defines the traffic profile route characteristics used to data-drive provisioning workflows.",
                    "$ref": "#/definitions/RouteConstraintsRO"
                },
                "outputs": {
                    "type": "array",
                    "description": "List of outputs that are expected in the use-case.",
                    "items": {
                        "$ref": "#/definitions/TrafficProfileParamRO"
                    }
                }
            }
        },
        "TransformTypesRO": {
            "type": "object",
            "properties": {
                "ingress": {
                    "description": "This package stores Ingress L2 Transform related info.",
                    "$ref": "#/definitions/L2TransformRO"
                },
                "egress": {
                    "description": "This package stores Ingress L2 Transform related info.",
                    "$ref": "#/definitions/L2TransformRO"
                }
            }
        },
        "TransportPolicyRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Transport policy type",
                    "enum": [
                        "INHERIT_SERVICE_LEVEL",
                        "CATALOG",
                        "COLOR",
                        "DEFAULT_NETWORK_ROUTING"
                    ]
                },
                "srPolicies": {
                    "type": "array",
                    "description": "Segment Routing policy details",
                    "items": {
                        "$ref": "#/definitions/SrPolicyRO"
                    }
                }
            }
        },
        "TtiAttributeRO": {
            "type": "object",
            "properties": {
                "sapi": {
                    "type": "string",
                    "description": "String to hold 'sapi' attribute"
                },
                "dapi": {
                    "type": "string",
                    "description": "String to hold 'dapi' attribute"
                },
                "operator": {
                    "type": "string",
                    "description": "String to hold 'operator' attribute"
                }
            }
        },
        "TtiPackageRO": {
            "type": "object",
            "properties": {
                "ttiTx": {
                    "description": "This package stores tti Attribute information.",
                    "$ref": "#/definitions/TtiAttributeRO"
                },
                "ttiRx": {
                    "description": "This package stores tti Attribute information.",
                    "$ref": "#/definitions/TtiAttributeRO"
                },
                "ttiExpectedRx": {
                    "description": "This package stores tti Attribute information.",
                    "$ref": "#/definitions/TtiAttributeRO"
                },
                "traceFailedMode": {
                    "type": "string",
                    "enum": [
                        "NULL",
                        "ALARM",
                        "ALARM_FAIL_LINE"
                    ]
                }
            }
        },
        "TunnelPathRO": {
            "type": "object",
            "properties": {
                "pathName": {
                    "type": "string",
                    "description": "The name of this explicit tunnel path"
                },
                "hops": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HopEntryRO"
                    }
                }
            }
        },
        "TxInfoRO": {
            "type": "object",
            "properties": {
                "dropPort": {
                    "type": "string",
                    "description": "dropPort Info"
                },
                "transMode": {
                    "type": "string",
                    "description": "transMode Info"
                },
                "frequency": {
                    "type": "string",
                    "description": "frequency Info"
                },
                "minDispersion": {
                    "type": "string",
                    "description": "minDispersion Info"
                },
                "maxDispersion": {
                    "type": "string",
                    "description": "maxDispersion Info"
                },
                "lowFrequencyGuardband": {
                    "type": "string",
                    "description": "lowFrequencyGuardband Info"
                },
                "highFrequencyGuardband": {
                    "type": "string",
                    "description": "highFrequencyGuardband Info"
                },
                "expectedRestorationTime": {
                    "type": "string",
                    "description": "expectedRestorationTime Info"
                },
                "linkOptimizationMode": {
                    "type": "string",
                    "description": "linkOptimizationMode Info"
                },
                "egressRegenPort": {
                    "type": "string",
                    "description": "egressRegenPort Info"
                }
            }
        },
        "UserConstraintsRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Service Catalog Name"
                },
                "description": {
                    "type": "string",
                    "description": "Service Catalog Description"
                },
                "servicePriority": {
                    "description": "Service Priority Data",
                    "$ref": "#/definitions/ServicePriorityRO"
                },
                "optimizationAlgorithmMetric": {
                    "type": "string",
                    "description": "Metric for optimization algorithm",
                    "enum": [
                        "Shortest_TE_metric",
                        "Shortest_IGP_metric",
                        "Lowest_delay",
                        "Lowest_performance_delay",
                        "Lowest_number_of_hops"
                    ]
                },
                "additionalConstraints": {
                    "description": "Service CataLog More Options.",
                    "$ref": "#/definitions/SRServiceCatalogAdditionalConstraintsRO"
                }
            }
        },
        "UtilizationDataRO": {
            "type": "object",
            "properties": {
                "totalCapacity": {
                    "type": "string",
                    "description": "Utilization total capacity"
                },
                "overrideTotalCapacity": {
                    "type": "string",
                    "description": "Utilization total capacity override - User entered REST API value"
                },
                "calculatedTotalCapacity": {
                    "type": "string",
                    "description": "Utilization total capacity - MCP calculated value"
                },
                "usedCapacity": {
                    "type": "string",
                    "description": "Utilization used capacity"
                },
                "utilizationPercent": {
                    "type": "string",
                    "description": "Utilization percentage of total capacity that is used"
                },
                "capacityUnits": {
                    "type": "string",
                    "description": "Units of the capacity information"
                }
            }
        },
        "VirtualTpeBWConstraintsRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "owningPoolAdapterType": {
                    "type": "string"
                },
                "unitsToConsume": {
                    "type": "string"
                },
                "adaptsToLayerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "isFre": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "VpnPackageRO": {
            "type": "object",
            "properties": {
                "misconfigured": {
                    "type": "boolean",
                    "description": "true/false",
                    "default": false
                },
                "eviCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Evi Count of Evpn"
                },
                "esiCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Esi Count of Evpn"
                },
                "peCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Pe Count of Evpn"
                },
                "endPointCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "EndPoint Count of Evpn"
                },
                "rtCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "RT count inside EVPN."
                },
                "rdCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "RD count inside EVPN."
                },
                "rtList": {
                    "type": "array",
                    "description": "Set of RT list associated with EVPN",
                    "items": {
                        "type": "string"
                    }
                },
                "rdList": {
                    "type": "array",
                    "description": "Set of RD List associated with EVPN",
                    "items": {
                        "type": "string"
                    }
                },
                "transportPolicy": {
                    "description": "holds transport policy info for vrf",
                    "$ref": "#/definitions/TransportPolicyRO"
                }
            }
        },
        "Y1731AttributesRO": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "description": "True when the particular measurement is enabled",
                    "default": false
                },
                "mode": {
                    "type": "string",
                    "description": "The Y1731 session is to be provisioned in MEF35.1 Mode.",
                    "enum": [
                        "LEGACY",
                        "MEF_35_1"
                    ]
                },
                "interval": {
                    "type": "string",
                    "description": "The interval between transmitting each message (e.g.: 1)"
                },
                "intervalUnit": {
                    "type": "string",
                    "description": "The unit of interval between transmitting each message (e.g.: seconds)"
                },
                "priority": {
                    "type": "string",
                    "description": "The priority of the messages being transmitted (0-7)"
                },
                "frameSize": {
                    "type": "string",
                    "description": "The frame size of the messages being transmitted (numeric), if applicable to this measurement"
                },
                "repeatDelay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The repeat delay of the message being transmitted"
                },
                "count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The count of the message being transmitted"
                },
                "iterate": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The iteration number of the message being transmitted"
                },
                "remoteMepId": {
                    "type": "string",
                    "description": "The ID of the remote MEP"
                },
                "remoteMepMacAddress": {
                    "type": "string",
                    "description": "The MAC address of the remote MEP"
                },
                "thresholdProfile": {
                    "type": "string",
                    "description": "The name of the thresh-hold profile to be used"
                },
                "accelerate": {
                    "type": "boolean",
                    "description": "To create accelerated sessions",
                    "default": false
                },
                "storedIntervalCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Determines session history size (0-96)"
                },
                "testId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The ID of the test"
                },
                "sessionId": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The ID of the test session"
                },
                "cosMode": {
                    "type": "boolean",
                    "description": "To enable cos-mode on session",
                    "default": false
                },
                "delayBins": {
                    "type": "string",
                    "description": "The name of the delay bin profile"
                },
                "delayRangeBins": {
                    "type": "string",
                    "description": "The name of the delay range bin profile"
                },
                "ifdvBins": {
                    "type": "string",
                    "description": "The name of the jitter bin profile"
                },
                "alignMeasurementInterval": {
                    "type": "boolean",
                    "description": "Allows measurement intervals to be aligned with the hour on a time-of-day clock",
                    "default": false
                },
                "forwardIfdvBins": {
                    "type": "string",
                    "description": "The name of the forward jitter bin profile"
                },
                "backwardIfdvBins": {
                    "type": "string",
                    "description": "The name of the backward jitter bin profile"
                },
                "measurementInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Discrete interval of time over which a set of PM statistics are calculated and stored"
                },
                "alignMeasurementOffset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Allows measurement intervals to be offset a number of minutes from the hour when Align Measurement Intervals is in effect (0-60)"
                },
                "availConsecutiveHighFlr": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(1-1000)"
                },
                "availConsecutiveIntervals": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(1-1000)"
                },
                "availFlrThreshold": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(0-100000 millipercent)"
                },
                "availConsecutivePduCount": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(10-1000000)"
                },
                "availMeasurementInterval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "(0-43200 minutes)"
                },
                "messagePeriod": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The interval between message transmission (e.g.: 1)"
                },
                "messagePeriodUnit": {
                    "type": "string",
                    "description": "The unit of interval between transmitting each message (e.g.: seconds)"
                },
                "repetitionTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The period of time between the start of subsequent measurement intervals."
                }
            }
        },
        "eDtlRegenIdPackageRO": {
            "type": "object",
            "properties": {
                "regenPhotonicAddDropTid": {
                    "type": "string",
                    "description": "Regen Photonic ID TID"
                },
                "nearPhotonicTxAddDrop": {
                    "type": "string",
                    "description": "near Photonic Tx Add Drop Shelf SLot Port"
                }
            }
        },
        "socketClient": {
            "type": "object",
            "properties": {
                "consumerGroup": {
                    "type": "string"
                },
                "ip": {
                    "description": "The address of the machine connected to the socket",
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "socketResponse": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/socketClient"
            },
            "example": [
                {
                    "consumerGroup": "adminGroup",
                    "ip": "172.0.0.1",
                    "username": "admin"
                },
                {
                    "consumerGroup": "testGroup",
                    "ip": "0.0.0.0",
                    "username": "admin"
                }
            ]
        },
        "socketResponseMulti": {
            "description": "A (string, socketResponse) map where the key is a Kafka topic.",
            "type": "object",
            "additionalProperties": {
                "$ref": "#/definitions/socketResponse"
            },
            "example": {
                "bp.aeprocessor.v2_0.alarms": [
                    {
                        "consumerGroup": "testGroup",
                        "ip": "0.0.0.0",
                        "username": "admin"
                    }
                ],
                "bp.hpm.v1.pm.failure": [
                    {
                        "consumerGroup": "adminGroup",
                        "ip": "172.0.0.1",
                        "username": "admin"
                    }
                ]
            }
        },
        "CursorListRO": {
            "type": "object",
            "properties": {
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/DataROReturnable"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                }
            }
        },
        "DataROReturnable": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/Returnable"
                }
            }
        },
        "FeatureResponseInterface": {
            "type": "object",
            "properties": {
                "responseId": {
                    "type": "string"
                },
                "expiry": {
                    "type": "string",
                    "format": "date-time",
                    "description": "expiry"
                },
                "commonName": {
                    "type": "string",
                    "description": "commonName"
                },
                "permanent": {
                    "type": "boolean",
                    "description": "permanent",
                    "default": false
                },
                "featureName": {
                    "type": "string",
                    "description": "featureName"
                },
                "licensed": {
                    "type": "boolean",
                    "description": "licensed",
                    "readOnly": true,
                    "default": false
                },
                "message": {
                    "type": "string",
                    "description": "message"
                }
            }
        },
        "File": {
            "type": "object",
            "properties": {
                "path": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "parent": {
                    "type": "string"
                },
                "absolute": {
                    "type": "boolean",
                    "default": false
                },
                "canonicalPath": {
                    "type": "string"
                },
                "parentFile": {
                    "$ref": "#/definitions/File"
                },
                "absolutePath": {
                    "type": "string"
                },
                "absoluteFile": {
                    "$ref": "#/definitions/File"
                },
                "canonicalFile": {
                    "$ref": "#/definitions/File"
                },
                "directory": {
                    "type": "boolean",
                    "default": false
                },
                "file": {
                    "type": "boolean",
                    "default": false
                },
                "hidden": {
                    "type": "boolean",
                    "default": false
                },
                "totalSpace": {
                    "type": "integer",
                    "format": "int64"
                },
                "freeSpace": {
                    "type": "integer",
                    "format": "int64"
                },
                "usableSpace": {
                    "type": "integer",
                    "format": "int64"
                }
            }
        },
        "LicenseServerStatusInterface": {
            "type": "object",
            "properties": {
                "ip": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "Online",
                        "Offline"
                    ]
                }
            }
        },
        "LicenseSiteStatusInterface": {
            "type": "object",
            "properties": {
                "licenseServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LicenseServerStatusInterface"
                    }
                },
                "siteIP": {
                    "type": "string"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "Primary",
                        "Backup"
                    ]
                }
            }
        },
        "Report": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "IN_PROGRESS",
                        "COMPLETED",
                        "FAILED",
                        "DELETING",
                        "FAILED_TO_DELETE"
                    ]
                },
                "criticalAlarmCount": {
                    "type": "integer",
                    "format": "int32"
                },
                "majorAlarmCount": {
                    "type": "integer",
                    "format": "int32"
                },
                "minorAlarmCount": {
                    "type": "integer",
                    "format": "int32"
                },
                "warnAlarmCount": {
                    "type": "integer",
                    "format": "int32"
                },
                "totalFeatures": {
                    "type": "integer",
                    "format": "int32"
                },
                "totalClients": {
                    "type": "integer",
                    "format": "int32"
                },
                "includeArrears": {
                    "type": "boolean",
                    "default": false
                },
                "captureSiteId": {
                    "type": "string"
                },
                "grSync": {
                    "type": "boolean",
                    "default": false
                },
                "reportId": {
                    "type": "integer",
                    "format": "int32"
                },
                "reportDate": {
                    "type": "string",
                    "readOnly": true
                }
            }
        },
        "ReportRequestObject": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "ReportRequestRO": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string"
                },
                "reportId": {
                    "type": "integer",
                    "format": "int32"
                },
                "reportName": {
                    "type": "string"
                }
            },
            "description": "The information regarding the request of a report"
        },
        "ResponseListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "data",
                    "items": {
                        "$ref": "#/definitions/DataROReturnable"
                    }
                }
            }
        },
        "Returnable": {
            "type": "object",
            "properties": {
                "responseId": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "StatusAttributes": {
            "type": "object",
            "properties": {
                "sites": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LicenseSiteStatusInterface"
                    }
                }
            }
        },
        "StatusData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer",
                    "format": "int32"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/StatusAttributes"
                }
            }
        },
        "StatusRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/StatusData"
                }
            },
            "description": "The status of the licensing service"
        },
        "UpdateRO": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "integer",
                    "format": "int32"
                },
                "message": {
                    "type": "string"
                }
            }
        },
        "ListReply[ClaimedJob]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/ClaimedJob"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "RelationshipSetting": {
            "type": "object",
            "properties": {
                "sourceTypeId": {
                    "type": "string",
                    "description": "Resource type of the relationship source"
                },
                "targetTypeId": {
                    "type": "string",
                    "description": "Resource type of the relationship target"
                },
                "capabilityName": {
                    "type": "string",
                    "description": "Identifies the relationship capability name"
                },
                "requirementName": {
                    "type": "string",
                    "description": "Identifies the relationship requirement name"
                },
                "relationshipTypeId": {
                    "type": "string",
                    "description": "Identifies the relationship type"
                },
                "fieldKind": {
                    "type": "string",
                    "description": "Indicates what the identifying property field points to",
                    "enum": [
                        "provider",
                        "user"
                    ]
                },
                "fieldLocator": {
                    "type": "string",
                    "description": "JSON path expression identifying the property field to use for relationship identification"
                },
                "multiFieldLocator": {
                    "type": "array",
                    "description": "Multiple JSON path expresssion to be used identifying property fields to use in relationship identification",
                    "items": {
                        "type": "string"
                    }
                },
                "isDomainMangled": {
                    "type": "boolean",
                    "description": "Whether the remote providerResourceId specified in this property is domain-mangled when receiving from and sending to the provider"
                },
                "translate": {
                    "type": "boolean",
                    "description": "Whether translation between providerResourceIds and Market Ids should be done"
                },
                "namespaceProperty": {
                    "type": "string",
                    "description": "JSON path expression identifying the property field to be prepended to each field locator value"
                }
            },
            "description": "Settings to declare how relationships can be identified between two resource types"
        },
        "AddResourcesToSubDomainReport": {
            "type": "object",
            "required": [
                "message",
                "resourcesAdded"
            ],
            "properties": {
                "message": {
                    "type": "string"
                },
                "resourcesAdded": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "Address": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string",
                    "description": "City"
                },
                "zip": {
                    "type": "string",
                    "description": "Postal/zip code"
                },
                "street": {
                    "type": "string",
                    "description": "Street"
                },
                "state": {
                    "type": "string",
                    "description": "State/province"
                },
                "country": {
                    "type": "string",
                    "description": "Country"
                },
                "latitude": {
                    "type": "number",
                    "description": "Latitude"
                },
                "longitude": {
                    "type": "number",
                    "description": "Longitude"
                }
            },
            "description": "Represents a physical location/address"
        },
        "ListReply[Domain]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/Domain"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "Product": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier of the product (ignored during create request)"
                },
                "resourceTypeId": {
                    "type": "string",
                    "description": "The type of resource provided by the product"
                },
                "title": {
                    "type": "string",
                    "description": "Name or title describing the product"
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description of the product"
                },
                "active": {
                    "type": "boolean",
                    "description": "State of the product (active or inactive)"
                },
                "domainId": {
                    "type": "string",
                    "description": "Identifier of the domain that advertises the product"
                },
                "providerProductId": {
                    "type": "string",
                    "description": "Identifier within the provider's context or scope for the product"
                },
                "constraints": {
                    "description": "Additional constraints for the product",
                    "$ref": "#/definitions/JObject"
                },
                "providerData": {
                    "description": "Provider custom data",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "Information describing a product"
        },
        "ListReply[UnclaimedJob]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/UnclaimedJob"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "TypeLayerCurrentReply": {
            "type": "object",
            "properties": {
                "current": {
                    "type": "boolean",
                    "description": "Is the Type Catalog current?"
                },
                "version": {
                    "type": "string",
                    "description": "Type Catalog version"
                },
                "headCommit": {
                    "type": "string",
                    "description": "Asset Area head commit"
                }
            },
            "description": "Version values used to determine if the Type Catalog is current with respect to the Asset Area"
        },
        "PutResourceProp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier for the resource"
                },
                "label": {
                    "type": "string",
                    "description": "Textual label"
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description of this resource"
                },
                "resourceTypeId": {
                    "type": "string",
                    "description": "The type of this resource"
                },
                "productId": {
                    "type": "string",
                    "description": "The type of product for this resource"
                },
                "orderId": {
                    "type": "string",
                    "description": "If applicable, the order containing this resource"
                },
                "tenantId": {
                    "type": "string",
                    "description": "Owner tenant of the resource?"
                },
                "shared": {
                    "type": "boolean",
                    "description": "Is resource shared?"
                },
                "sharingPermissionId": {
                    "type": "string",
                    "description": "The sharing permission associated with the resource"
                },
                "subDomainId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Identifier of the resource's sub-domain"
                },
                "properties": {
                    "description": "Properties",
                    "$ref": "#/definitions/JObject"
                },
                "providerResourceId": {
                    "type": "string",
                    "description": "Identifier of the resource in provider's context"
                },
                "differences": {
                    "type": "array",
                    "description": "Differences represent the difference between desired and observed state",
                    "items": {
                        "$ref": "#/definitions/Operation"
                    }
                },
                "desiredOrchState": {
                    "type": "string",
                    "description": "Desired orchestration state",
                    "enum": [
                        "active",
                        "assembled",
                        "requested",
                        "scheduled",
                        "terminated",
                        "unspecified"
                    ]
                },
                "nativeState": {
                    "type": "string",
                    "description": "Native (type specific) state"
                },
                "orchState": {
                    "type": "string",
                    "description": "Current state of the resource in the orchestrator",
                    "enum": [
                        "unknown",
                        "unspecified",
                        "requested",
                        "scheduled",
                        "promoting",
                        "assembling",
                        "assembled",
                        "activating",
                        "failed",
                        "active",
                        "inactive",
                        "terminating",
                        "terminated"
                    ]
                },
                "reason": {
                    "type": "string",
                    "description": "Reason for the orchestration state"
                },
                "tags": {
                    "type": "object",
                    "description": "Tags",
                    "additionalProperties": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "providerData": {
                    "description": "Provider custom data",
                    "$ref": "#/definitions/JObject"
                },
                "autoClean": {
                    "type": "boolean",
                    "description": "Free up any resources automatically upon any activation failure"
                }
            },
            "description": "Information describing a resource PUT request"
        },
        "ValidateDefinitionRealmReply": {
            "type": "object",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Human readable description of what is wrong with the model"
                },
                "issues": {
                    "type": "array",
                    "description": "Specific issues which caused validation to fail",
                    "items": {
                        "$ref": "#/definitions/ValidationIssue"
                    }
                }
            }
        },
        "DiscoveryStrategy": {
            "type": "object",
            "properties": {
                "strategyType": {
                    "type": "string",
                    "description": "Discovery strategy type",
                    "enum": [
                        "async",
                        "sync"
                    ]
                },
                "pollingMode": {
                    "type": "string",
                    "description": "Resource polling mode",
                    "enum": [
                        "listOnly",
                        "getOnly",
                        "noPolling"
                    ]
                },
                "pollingSettings": {
                    "description": "Resource polling settings",
                    "$ref": "#/definitions/PollingStrategySettings"
                }
            },
            "description": "Settings to declare how resource type discovery should be performed"
        },
        "SubDomain": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Unique ID of the sub-domain"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the sub-domain"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the sub-domain"
                },
                "ownerTenantId": {
                    "type": "string",
                    "description": "The ID of the owner tenant"
                },
                "domainId": {
                    "type": "string",
                    "description": "ID of the domain this sub-domain belongs to"
                },
                "scope": {
                    "type": "string",
                    "description": "Scope of the sub-domain",
                    "enum": [
                        "APPLICATION",
                        "TENANT",
                        "COMMON"
                    ]
                },
                "decomposable": {
                    "type": "boolean",
                    "description": "Whether the sub-domain can be decomposed"
                },
                "assignable": {
                    "type": "boolean",
                    "description": "Whether the sub-domain can be re-assigned"
                },
                "applicationSlices": {
                    "type": "array",
                    "description": "Set of application slices this sub-domain is in",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "extendedApplicationSlices": {
                    "type": "array",
                    "description": "Set of application slices for which this sub-domain acts as an extended sub-domain",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "parentId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The ID of the container sub-domain, if applicable"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Whether this sub-domain is its domain's default sub-domain"
                }
            },
            "description": "Information describing a sub-domain"
        },
        "ListReply[ResourceTypeDigest]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/ResourceTypeDigest"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ListReply[Resource]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/Resource"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ResourceSubDomainInfo": {
            "type": "object",
            "properties": {
                "subDomainId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The ID of the sub-domain"
                }
            },
            "description": "Information describing a sub-domain for a resource to assign to"
        },
        "DomainType": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name for the domain type"
                },
                "description": {
                    "type": "string",
                    "description": "Description of a domain type"
                },
                "providers": {
                    "type": "array",
                    "description": "Providers for this domain type",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "description": "Defines a the type of a domain"
        },
        "TypeArtifactDefinition": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Uniquely identifier of artifact"
                },
                "title": {
                    "type": "string",
                    "description": "Title (label) of the artifact"
                },
                "artifactType": {
                    "type": "string",
                    "description": "Type of the artifact"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the artifact"
                },
                "version": {
                    "type": "string",
                    "description": "Version level of the artifact"
                },
                "derivedFrom": {
                    "type": "array",
                    "description": "URI of model artifacts from which this artifact is derived from",
                    "items": {
                        "type": "string"
                    }
                },
                "experimental": {
                    "type": "boolean",
                    "description": "Experimental type artifact"
                },
                "model": {
                    "description": "Type artifact model",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "Information describing a single type artifact"
        },
        "ListReply[Product]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/Product"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ResyncReplyItem": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "integer",
                    "format": "int32",
                    "description": "HTTP status code for the item"
                },
                "message": {
                    "type": "string",
                    "description": "Message of the item"
                },
                "source": {
                    "type": "string",
                    "description": "Source that produced the item"
                },
                "properties": {
                    "description": "Optional properties of the item",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "Information describing an item of a resync request reply"
        },
        "JobClaim": {
            "type": "object",
            "properties": {
                "executorUrl": {
                    "type": "string",
                    "description": "URL that implements the Executor API for this job"
                },
                "capabilities": {
                    "type": "array",
                    "description": "Array of strings that expresses the capabilities supported by the job executor",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "description": "Job claim"
        },
        "ClaimedJob": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Unique identifier for the job"
                },
                "type": {
                    "type": "string",
                    "description": "Job Type",
                    "enum": [
                        "bpmn",
                        "bpmncaller",
                        "rp",
                        "script",
                        "remote"
                    ]
                },
                "state": {
                    "type": "string",
                    "description": "Job state",
                    "enum": [
                        "unclaimed",
                        "executing",
                        "successful",
                        "failed",
                        "cancelled",
                        "suspended"
                    ]
                },
                "resourceId": {
                    "type": "string",
                    "description": "Resource Id"
                },
                "operationId": {
                    "type": "string",
                    "description": "Operation Id"
                },
                "operation": {
                    "type": "string",
                    "description": "Operation"
                },
                "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "When the job was created"
                },
                "claimedAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "When the job was claimed"
                },
                "executorUrl": {
                    "type": "string",
                    "description": "Job executor"
                }
            },
            "description": "A digest version of the Job entity for executing jobs"
        },
        "ResourceProvider": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier to address the resource provider"
                },
                "domainType": {
                    "type": "string",
                    "description": "Type of domain managed by the resource provider"
                },
                "uri": {
                    "type": "string",
                    "description": "Address to contact the resource provider"
                },
                "resourceTypes": {
                    "type": "array",
                    "description": "List of resource types managed by the resource provider",
                    "items": {
                        "$ref": "#/definitions/ResourceTypeSetting"
                    }
                },
                "domainSettings": {
                    "description": "Domain level setting for the resource provider",
                    "$ref": "#/definitions/DomainSettings"
                },
                "properties": {
                    "description": "Properties of the resource provider",
                    "$ref": "#/definitions/JObject"
                },
                "title": {
                    "type": "string",
                    "description": "Name of the resource provider"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the resource provider"
                },
                "providerId": {
                    "type": "string",
                    "description": "Identifier of the resource provider in provider's context"
                },
                "protocolVersion": {
                    "type": "string",
                    "description": "Identifies the protocol version supported by the resource provider",
                    "enum": [
                        "v1",
                        "v2",
                        "built-in"
                    ]
                },
                "asyncProtocolVersion": {
                    "type": "string",
                    "description": "Identifies the async protocol version supported by the resource provider",
                    "enum": [
                        "v1",
                        "v2"
                    ]
                },
                "relationships": {
                    "type": "array",
                    "description": "Settings to declare how relationships should be identified for resource types managed by this resource provider",
                    "items": {
                        "$ref": "#/definitions/RelationshipSetting"
                    }
                },
                "lastUpsertTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Last time the resource provider is upserted in the database"
                }
            },
            "description": "Information describing a resource provider"
        },
        "AuditReply": {
            "type": "object",
            "properties": {
                "message": {
                    "type": "string",
                    "description": "Message of the item"
                }
            },
            "description": "Information describing an item of a audit request reply"
        },
        "Job": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Unique identifier for the job"
                },
                "resourceId": {
                    "type": "string",
                    "description": "Resource identifier"
                },
                "operationId": {
                    "type": "string",
                    "description": "Operation identifier"
                },
                "operation": {
                    "type": "string",
                    "description": "Name of the operation, normally the interface name for custom operations and 'activate', 'terminate', or 'update' for lifecycle operations."
                },
                "state": {
                    "type": "string",
                    "description": "Job state",
                    "enum": [
                        "unclaimed",
                        "executing",
                        "successful",
                        "failed",
                        "cancelled",
                        "suspended"
                    ]
                },
                "type": {
                    "type": "string",
                    "description": "Type of job"
                },
                "typeParams": {
                    "description": "Metadata for routing",
                    "$ref": "#/definitions/JObject"
                },
                "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time of creation"
                },
                "claimedAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time when the job was claimed"
                },
                "completedAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Time when the job was completed"
                },
                "idempotencyKey": {
                    "type": "string",
                    "description": "Idempotent job claim key"
                },
                "executorUrl": {
                    "type": "string",
                    "description": "Job executor"
                },
                "capabilities": {
                    "type": "array",
                    "description": "Supported capabilities",
                    "items": {
                        "type": "string"
                    }
                },
                "traceId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Trace identifier"
                },
                "upstreamId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Upstream identifier"
                },
                "userId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "User identifier"
                },
                "tenantId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Tenant identifier"
                },
                "roleIds": {
                    "type": "array",
                    "description": "Role identifiers",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "partitionIds": {
                    "type": "array",
                    "description": "Partition identifiers",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "subdomainIds": {
                    "type": "array",
                    "description": "Subdomain identifiers",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "typeLayerVersion": {
                    "type": "string",
                    "description": "Version of the Market type realm in effect at the time of operation execution"
                },
                "jobParams": {
                    "description": "Job parameters",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "Job entity tracking the execution of a resource operation"
        },
        "ListReply[SharingPermission]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/SharingPermission"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "DomainProps": {
            "type": "object",
            "properties": {
                "title": {
                    "type": "string",
                    "description": "Descriptive name/title of domain"
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description"
                },
                "accessUrl": {
                    "type": "string",
                    "description": "Access URL to the domain"
                },
                "properties": {
                    "description": "Properties the domain",
                    "$ref": "#/definitions/JObject"
                },
                "address": {
                    "description": "Address of the domain",
                    "$ref": "#/definitions/Address"
                },
                "rpId": {
                    "type": "string",
                    "description": "Resource provider managing this domain"
                },
                "operationMode": {
                    "type": "string",
                    "description": "Operation mode of this domain",
                    "enum": [
                        "normal",
                        "simulated",
                        "displayonly"
                    ]
                },
                "tenantId": {
                    "type": "string",
                    "description": "Orchestrator tenant ID for the domain owner (if unspecified defaults to requester)"
                },
                "onlyEnableTypes": {
                    "type": "array",
                    "description": "When non-empty, only enable these resource types in the domain",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            },
            "description": "Properties for creating a domain"
        },
        "CheckJobStatusResponse": {
            "type": "object",
            "properties": {
                "httpStatus": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Status code returned from executorURL"
                },
                "executorUrl": {
                    "type": "string",
                    "description": "Original executorURL from Job"
                },
                "state": {
                    "type": "string",
                    "description": "State from executorURL or None"
                }
            },
            "description": "Response for CheckJob"
        },
        "SharingPermissionProp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique id of the permission"
                },
                "label": {
                    "type": "string",
                    "description": "Label of the permission"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the permission"
                },
                "visibleToSubTenants": {
                    "type": "boolean",
                    "description": "Whether subject is visible to subtenants if shared"
                },
                "updatableBySubTenants": {
                    "type": "boolean",
                    "description": "Whether subject is updatable by subtenants if shared"
                },
                "deletableBySubTenants": {
                    "type": "boolean",
                    "description": "Whether subject is deletable by subtenants if shared"
                }
            },
            "description": "Properties for creating a sharing permission"
        },
        "ListReply[Relationship]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/Relationship"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ListReply[TagKey]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/TagKey"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ResyncRequestScope": {
            "type": "object",
            "required": [
                "domainId"
            ],
            "properties": {
                "domainId": {
                    "type": "string"
                },
                "resourceTypeId": {
                    "type": "string"
                },
                "providerResourceId": {
                    "type": "string"
                }
            },
            "description": "Information describing the status of a resync request"
        },
        "TypeArtifactDigest": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Uniquely identifier of artifact"
                },
                "title": {
                    "type": "string",
                    "description": "Title (label) of the artifact"
                },
                "artifactType": {
                    "type": "string",
                    "description": "Type of the artifact"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the artifact"
                },
                "version": {
                    "type": "string",
                    "description": "Version level of the artifact"
                },
                "derivedFrom": {
                    "type": "array",
                    "description": "URI of model artifacts from which this artifact is derived from",
                    "items": {
                        "type": "string"
                    }
                },
                "experimental": {
                    "type": "boolean",
                    "description": "Experimental type artifact"
                }
            },
            "description": "Information describing a single type artifact"
        },
        "ResourceInterface": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Interface identifier"
                },
                "title": {
                    "type": "string",
                    "description": "Title of the resource interface"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the resource interface"
                },
                "inputs": {
                    "description": "Inputs to the resource interface",
                    "$ref": "#/definitions/JObject"
                },
                "outputs": {
                    "description": "Outputs from the resource interface",
                    "$ref": "#/definitions/JObject"
                },
                "executionGroup": {
                    "type": "string",
                    "description": "The execution group this interface will use"
                },
                "internalOnly": {
                    "type": "boolean",
                    "description": "Whether the interface is for internal use only"
                }
            },
            "description": "Information describing a resource operation interface"
        },
        "UnresolvedRelationship": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The id of the unresolved relationship"
                },
                "resourceId": {
                    "type": "string",
                    "description": "The id of the resource where the unresolved locator id is defined"
                },
                "mangledProviderId": {
                    "type": "string",
                    "description": "The unresolved domain-mangled providerResourceId for the relationship"
                },
                "requirement": {
                    "type": "string",
                    "description": "Identifies the relationship requirement name"
                },
                "capability": {
                    "type": "string",
                    "description": "Identifies the relationship capability name"
                },
                "relationshipTypeId": {
                    "type": "string",
                    "description": "Identifies the relationship type ID"
                },
                "isTarget": {
                    "type": "boolean",
                    "description": "Is the unresolved locator the targetId of the relationship"
                },
                "isDomainMangled": {
                    "type": "number",
                    "description": "Should the translated locator be written back to the resource in domain-mangled form"
                },
                "locatorPath": {
                    "type": "string",
                    "description": "The locator path of the relationship setting, used for writing the translated property back"
                },
                "index": {
                    "type": "number",
                    "description": "The index of the locator in an array, used for writing the translated property back"
                }
            },
            "description": "Description of an unresolved relationship"
        },
        "JobExecutionResult": {
            "type": "object",
            "properties": {
                "_type": {
                    "type": "string",
                    "description": "Type of job result",
                    "enum": [
                        "JobSuccess",
                        "JobFailure",
                        "JobCancelled"
                    ]
                },
                "result": {
                    "description": "For JobSuccess, a JSON object containing the job results",
                    "$ref": "#/definitions/JObject"
                },
                "reason": {
                    "type": "string",
                    "description": "For JobFailure, a String description of the failure"
                }
            },
            "description": "Job execution result"
        },
        "ListReply[TagValue]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/TagValue"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ListReply[ApplicationSlice]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/ApplicationSlice"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ResourceHistoryEvent": {
            "type": "object",
            "properties": {
                "time": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The timestamp of the transaction making the change"
                },
                "userId": {
                    "type": "string",
                    "description": "The ID of the user making the change"
                },
                "changes": {
                    "type": "array",
                    "description": "The set of attributes changed on the resource",
                    "items": {
                        "$ref": "#/definitions/AttributeChange"
                    }
                }
            },
            "description": "Description of all changes made to a resource at a single time instant or transaction"
        },
        "ResourceTypeSetting": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Identifies the resource type"
                },
                "discoveryStrategy": {
                    "description": "Specifies the discovery strategy to use for the resource type",
                    "$ref": "#/definitions/DiscoveryStrategy"
                },
                "apiSettings": {
                    "description": "Specifies the REST API client settings for the resource type",
                    "$ref": "#/definitions/DiscoveryApiSettings"
                },
                "noInitialDiscoveryMarkers": {
                    "type": "number",
                    "description": "Specifies if initial discovery status for this resource type should be ignored"
                },
                "updateCompleteOnPutReturn": {
                    "type": "number",
                    "description": "Specifies if a PUT update response signals update completion for this resource type"
                },
                "updateCompletionTimeoutMs": {
                    "type": "number",
                    "description": "Timeout in milliseconds for an update on a resource to be force completed by RA Manager. If `updateCompleteOnPutReturn` is true, then this timeout has no effect."
                }
            },
            "description": "Settings to declare how resource types should be managed by adapters"
        },
        "ResourceTypeDigest": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier of the resource type"
                },
                "title": {
                    "type": "string",
                    "description": "Resource type name"
                },
                "description": {
                    "type": "string",
                    "description": "Resource type description"
                },
                "version": {
                    "type": "string",
                    "description": "Resource type version identifier"
                },
                "derivedFrom": {
                    "type": "array",
                    "description": "URI of model artifacts from which this artifact is derived from",
                    "items": {
                        "type": "string"
                    }
                },
                "experimental": {
                    "type": "boolean",
                    "description": "Experimental type artifact"
                },
                "abstract": {
                    "type": "boolean",
                    "description": "Abstract type artifact"
                }
            },
            "description": "Meta-information describing a resource type"
        },
        "ValidationReport": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string",
                    "description": "Status of the validation report",
                    "enum": [
                        "passed",
                        "failed"
                    ]
                },
                "results": {
                    "type": "array",
                    "description": "List of validation results",
                    "items": {
                        "$ref": "#/definitions/ValidationItem"
                    }
                }
            },
            "description": "A report for the processing results of a resource validation request"
        },
        "AttributeChange": {
            "type": "object",
            "properties": {
                "attrName": {
                    "type": "string",
                    "description": "Name of the attribute that was changed"
                },
                "changeType": {
                    "type": "string",
                    "description": "The type of change made to the attribute",
                    "enum": [
                        "Set",
                        "Unset",
                        "Updated",
                        "Added",
                        "Removed"
                    ]
                },
                "migration": {
                    "type": "boolean",
                    "description": "Indicates whether the change was part of a migration"
                },
                "newValue": {
                    "description": "The resulting value for the attribute after this change",
                    "$ref": "#/definitions/JValue"
                },
                "oldValue": {
                    "description": "The original value for the attribute before this change",
                    "$ref": "#/definitions/JValue"
                }
            },
            "description": "Description of a single attribute change"
        },
        "PollingStrategySettings": {
            "type": "object",
            "properties": {
                "pollingIntervalMs": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Polling interval in milliseconds"
                },
                "immediateDeletion": {
                    "type": "boolean",
                    "description": "Whether the deletion is considered done when the API returns"
                },
                "deletePollingIntervalMs": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Polling interval for delete verification"
                },
                "deletePollingLimit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Maximum number of delete verification polling"
                },
                "delayCreateTimeoutMs": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Timeout value for a delayed creation to be considered failed"
                },
                "syncTimeoutMs": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Timeout for sync and queries"
                },
                "verifyMissingList": {
                    "type": "boolean",
                    "description": "Whether an extra GET will be called to verify a missing resource in LIST"
                }
            },
            "description": "Detailed settings on resource polling strategy"
        },
        "UpdateApplicationSliceSubDomainsReport": {
            "type": "object",
            "required": [
                "message",
                "subdomains"
            ],
            "properties": {
                "message": {
                    "type": "string"
                },
                "subdomains": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                }
            }
        },
        "Domain": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique id of the domain"
                },
                "title": {
                    "type": "string",
                    "description": "Descriptive name/title of domain"
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description"
                },
                "domainType": {
                    "type": "string",
                    "description": "Type of the domain"
                },
                "accessUrl": {
                    "type": "string",
                    "description": "Access URL to the domain"
                },
                "properties": {
                    "description": "Properties the domain",
                    "$ref": "#/definitions/JObject"
                },
                "address": {
                    "description": "Address of the domain",
                    "$ref": "#/definitions/Address"
                },
                "tenantId": {
                    "type": "string",
                    "description": "Orchestrator tenant"
                },
                "rpId": {
                    "type": "string",
                    "description": "Resource provider that creates this domain"
                },
                "operationMode": {
                    "type": "string",
                    "description": "Operation mode of this domain",
                    "enum": [
                        "normal",
                        "simulated",
                        "displayonly"
                    ]
                },
                "lastConnected": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Last time domain was connected to southbound"
                },
                "reason": {
                    "type": "string",
                    "description": "Reason message for connection failure"
                },
                "connectionStatus": {
                    "description": "Connection status of the domain",
                    "$ref": "#/definitions/DomainConnectionStatus"
                },
                "initialDiscoveryStatus": {
                    "description": "Initial Discovery status of the domain",
                    "$ref": "#/definitions/DomainInitialDiscoveryStatus"
                },
                "onlyEnableTypes": {
                    "type": "array",
                    "description": "When non-empty, only enable these resource types in the domain",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            },
            "description": "Represents an autonomous domain provider"
        },
        "JArray": {
            "type": "object",
            "required": [
                "arr"
            ],
            "properties": {
                "arr": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/JValue"
                    }
                }
            }
        },
        "JobProgress": {
            "type": "object",
            "properties": {
                "progress": {
                    "description": "Value describing the execution progress",
                    "$ref": "#/definitions/JValue"
                }
            },
            "description": "Job progress"
        },
        "DiscoveryApiSettings": {
            "type": "object",
            "properties": {
                "serverTimeoutMs": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Timeout for HTTP client when connecting to a server"
                },
                "maxConnections": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Maximum concurrent http connections"
                },
                "maxHttpRetries": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Maximum retries when an http request fails"
                },
                "maxRedirections": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Maximum redirections for http request"
                },
                "idleTimeoutMs": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Time to keep an idle connection open before disconnecting it"
                }
            },
            "description": "Settings on API client for resource discovery"
        },
        "SubDomainResourceSet": {
            "type": "object",
            "required": [
                "resources"
            ],
            "properties": {
                "resources": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ApplicationSliceProp": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the application slice"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the application slice"
                },
                "extendable": {
                    "type": "boolean",
                    "description": "Whether the application slice is extendable"
                },
                "holderTenantId": {
                    "type": "string",
                    "description": "The id of the tenant holding the slice"
                },
                "ownerTenantId": {
                    "type": "string",
                    "description": "The id of the tenant owning the slice"
                },
                "parentId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The id of the parent application slice"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Whether the application slice is the default slice of the owner tenant"
                },
                "requiredAppSlicesIds": {
                    "type": "array",
                    "description": "Application slices this slice depends on",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "sliceRole": {
                    "description": "Role of the application slice",
                    "$ref": "#/definitions/Value"
                }
            },
            "description": "Information describing a to-be-created application slice"
        },
        "ListReply[TypeArtifactDigest]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/TypeArtifactDigest"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "DomainSettings": {
            "type": "object",
            "properties": {
                "connection_status": {
                    "type": "boolean",
                    "description": "Specifies if maintenance of domain's connection status is supported"
                },
                "initial_discovery_status": {
                    "type": "boolean",
                    "description": "Specifies if maintenance of domain's initial discovery status is supported"
                },
                "metaInfoDiscoveryStrategy": {
                    "description": "Specifies the Domain meta information polling strategy",
                    "$ref": "#/definitions/DomainMetaInfoDiscoveryStrategy$"
                },
                "minInterUpsertIntervalMs": {
                    "type": "number",
                    "description": "Specifies the minimal inter-call interval bpocore should honor when upserting the Domain"
                },
                "rpType": {
                    "description": "Specifies the RP Type",
                    "$ref": "#/definitions/Value"
                },
                "asyncDeviceTypes": {
                    "type": "array",
                    "description": "Specifies the Resource Type IDs that use async discovery strategy",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "description": "Settings to declare how domain should be managed"
        },
        "Tuple2StringJValue": {
            "type": "object",
            "required": [
                "_1",
                "_2"
            ],
            "properties": {
                "_1": {
                    "type": "string"
                },
                "_2": {
                    "$ref": "#/definitions/JValue"
                }
            }
        },
        "ResourceProp": {
            "type": "object",
            "properties": {
                "productId": {
                    "type": "string",
                    "description": "The type of product for this resource"
                },
                "orderId": {
                    "type": "string",
                    "description": "If applicable, the order containing this resource"
                },
                "label": {
                    "type": "string",
                    "description": "Textual label"
                },
                "description": {
                    "type": "string",
                    "description": "Detailed description of this resource"
                },
                "properties": {
                    "description": "Properties",
                    "$ref": "#/definitions/JObject"
                },
                "providerResourceId": {
                    "type": "string",
                    "description": "Identifier of the resource in provider's context"
                },
                "discovered": {
                    "type": "boolean",
                    "description": "Is this resource discovered"
                },
                "shared": {
                    "type": "boolean",
                    "description": "Is resource shared?"
                },
                "sharingPermissionId": {
                    "type": "string",
                    "description": "The sharing permission of the resource"
                },
                "desiredOrchState": {
                    "type": "string",
                    "description": "Desired orchestration state",
                    "enum": [
                        "active",
                        "assembled",
                        "requested",
                        "scheduled",
                        "terminated",
                        "unspecified"
                    ]
                },
                "nativeState": {
                    "type": "string",
                    "description": "Native (type specific) state"
                },
                "orchState": {
                    "type": "string",
                    "description": "Current state of the resource in the orchestrator",
                    "enum": [
                        "unknown",
                        "unspecified",
                        "requested",
                        "scheduled",
                        "promoting",
                        "assembling",
                        "assembled",
                        "activating",
                        "failed",
                        "active",
                        "inactive",
                        "terminating",
                        "terminated"
                    ]
                },
                "reason": {
                    "type": "string",
                    "description": "Reason for the orchestration state"
                },
                "tags": {
                    "type": "object",
                    "description": "Tags",
                    "additionalProperties": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                            "type": "string"
                        }
                    }
                },
                "autoClean": {
                    "type": "boolean",
                    "description": "Free up any resources automatically upon any activation failure"
                },
                "providerData": {
                    "description": "Provider custom data",
                    "$ref": "#/definitions/JObject"
                },
                "subDomainId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Sub-domain ID"
                }
            },
            "description": "Information describing a resource creation request"
        },
        "Tenant": {
            "type": "object",
            "required": [
                "id",
                "isMaster"
            ],
            "properties": {
                "id": {
                    "type": "string"
                },
                "parent": {
                    "type": "string"
                },
                "isMaster": {
                    "type": "boolean"
                }
            },
            "description": "Information describing a tenant"
        },
        "AppSliceSubDomains": {
            "type": "object",
            "required": [
                "subDomains"
            ],
            "properties": {
                "subDomains": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ListReply[UnresolvedRelationship]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/UnresolvedRelationship"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "TagKey": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Tag key"
                },
                "description": {
                    "type": "string",
                    "description": "Textual description of tag key"
                },
                "autoIndexed": {
                    "type": "boolean",
                    "description": "Are tag value for this key auto-indexed?"
                }
            },
            "description": "Tag key with description"
        },
        "ValidationItem": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "integer",
                    "format": "int32",
                    "description": "HTTP status code for the result"
                },
                "pointer": {
                    "type": "string",
                    "description": "JSON pointer to the source of the issue"
                },
                "detail": {
                    "type": "string",
                    "description": "Detailed description of the validation"
                },
                "validator": {
                    "type": "string",
                    "description": "Validator that produced the status"
                }
            }
        },
        "DomainConnectionStatus": {
            "type": "object"
        },
        "JObject": {
            "type": "object",
            "required": [
                "obj"
            ],
            "properties": {
                "obj": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Tuple2StringJValue"
                    }
                }
            }
        },
        "TagValue": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "string",
                    "description": "Tag value"
                },
                "key": {
                    "type": "string",
                    "description": "Tag key"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the meaning of a tag value"
                }
            },
            "description": "Tag value with description"
        },
        "JobSuspension": {
            "type": "object",
            "properties": {
                "suspended": {
                    "type": "boolean",
                    "description": "Job suspension state"
                }
            },
            "description": "Job suspension"
        },
        "DomainInitialDiscoveryStatus": {
            "type": "object"
        },
        "UnclaimedJob": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Unique identifier for the job"
                },
                "traceId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Trace identifier"
                },
                "upstreamId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Upstream identifier"
                }
            },
            "description": "A digest version of the Job entity for unclaimed jobs"
        },
        "SharingPermission": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique id of the permission"
                },
                "label": {
                    "type": "string",
                    "description": "Label of the permission"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the permission"
                },
                "visibleToSubTenants": {
                    "type": "boolean",
                    "description": "Whether subject is visible to subtenants if shared"
                },
                "updatableBySubTenants": {
                    "type": "boolean",
                    "description": "Whether subject is updatable by subtenants if shared"
                },
                "deletableBySubTenants": {
                    "type": "boolean",
                    "description": "Whether subject is deletable by subtenants if shared"
                },
                "isBuiltIn": {
                    "type": "boolean",
                    "description": "Whether this is a built-in permission"
                }
            },
            "description": "Information describing a sharing permission"
        },
        "ApplicationSlice": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "Unique ID of the application slice"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the application slice"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the application slice"
                },
                "extendable": {
                    "type": "boolean",
                    "description": "Whether the application slice is extendable"
                },
                "holderTenantId": {
                    "type": "string",
                    "description": "The id of the tenant holding the slice"
                },
                "ownerTenantId": {
                    "type": "string",
                    "description": "The id of the tenant owning the slice"
                },
                "parentId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The id of the parent application slice"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Whether the application slice is the default slice of the owner tenant"
                },
                "requiredAppSlicesIds": {
                    "type": "array",
                    "description": "Application slices this slice depends on",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "sliceRole": {
                    "description": "Role of the application slice",
                    "$ref": "#/definitions/Value"
                }
            },
            "description": "Information describing an application slice"
        },
        "RelationshipProp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier for the relationship (optional/ignored on calls to create)"
                },
                "relationshipTypeId": {
                    "type": "string",
                    "description": "URI of relationship type"
                },
                "properties": {
                    "description": "Relationship properties",
                    "$ref": "#/definitions/JObject"
                },
                "sourceId": {
                    "type": "string",
                    "description": "UUID of source resource"
                },
                "requirementName": {
                    "type": "string",
                    "description": "Requirement name in source resource"
                },
                "targetId": {
                    "type": "string",
                    "description": "UUID of target resource"
                },
                "capabilityName": {
                    "type": "string",
                    "description": "Capability name in target resource"
                },
                "orchState": {
                    "type": "string",
                    "description": "Current state of the resource in the orchestrator",
                    "enum": [
                        "unknown",
                        "unspecified",
                        "requested",
                        "scheduled",
                        "promoting",
                        "assembling",
                        "assembled",
                        "activating",
                        "failed",
                        "active",
                        "inactive",
                        "terminating",
                        "terminated"
                    ]
                },
                "reason": {
                    "type": "string",
                    "description": "Reason for the orchestration state"
                },
                "providerData": {
                    "description": "Provider custom data",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "Information describing a relationship to create"
        },
        "SubDomainProp": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the sub-domain"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the sub-domain"
                },
                "domainId": {
                    "type": "string",
                    "description": "ID of the domain this sub-domain belongs to"
                },
                "scope": {
                    "type": "string",
                    "description": "Scope of the sub-domain",
                    "enum": [
                        "APPLICATION",
                        "TENANT",
                        "COMMON"
                    ]
                },
                "decomposable": {
                    "type": "boolean",
                    "description": "Whether the sub-domain can be decomposped"
                },
                "assignable": {
                    "type": "boolean",
                    "description": "Whether the sub-domain can be re-assigned"
                },
                "applicationSlices": {
                    "type": "array",
                    "description": "Set of application slices this sub-domain is in",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "extendedApplicationSlices": {
                    "type": "array",
                    "description": "Set of application slices for which this sub-domain acts as an extended sub-domain",
                    "uniqueItems": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "parentId": {
                    "type": "string",
                    "format": "uuid",
                    "description": "The ID of the container sub-domain, if applicable"
                }
            },
            "description": "Information describing a to-be-created sub-domain"
        },
        "MarkerResyncScopeFilter": {
            "type": "object",
            "properties": {
                "properties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            },
            "description": "Marker Filter Data"
        },
        "ResyncReply": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "ID of the resync"
                },
                "status": {
                    "type": "integer",
                    "format": "int32",
                    "description": "HTTP status code for the reply"
                },
                "message": {
                    "type": "string",
                    "description": "Message of the response"
                },
                "source": {
                    "type": "string",
                    "description": "Source that produced the reply"
                },
                "properties": {
                    "description": "Optional properties of the reply",
                    "$ref": "#/definitions/JObject"
                },
                "items": {
                    "type": "array",
                    "description": "Optional items of the reply",
                    "items": {
                        "$ref": "#/definitions/ResyncReplyItem"
                    }
                }
            },
            "description": "Information describing the reply of a resync request"
        },
        "ListReply[ResourceOperation]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/ResourceOperation"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ValidationIssue": {
            "type": "object",
            "required": [
                "category",
                "moduleSource"
            ],
            "properties": {
                "moduleSource": {
                    "type": "string"
                },
                "category": {
                    "$ref": "#/definitions/Value"
                },
                "message": {
                    "type": "string"
                },
                "report": {
                    "$ref": "#/definitions/JValue"
                }
            }
        },
        "DomainMetaInfoDiscoveryStrategy$": {
            "type": "object"
        },
        "ListReply[ResourceInterface]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/ResourceInterface"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ListReply[ResourceProvider]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/ResourceProvider"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ResourceOperationProp": {
            "type": "object",
            "properties": {
                "interface": {
                    "type": "string",
                    "description": "ID of the interface"
                },
                "title": {
                    "type": "string",
                    "description": "Title of the operation"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the operation"
                },
                "inputs": {
                    "description": "Inputs of the operation",
                    "$ref": "#/definitions/JObject"
                },
                "resourceStateConstraints": {
                    "description": "Constraints of the resource state for this operation to execute",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "Information describing a resource operation creation request"
        },
        "ResyncStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid",
                    "description": "ID of the resync request"
                },
                "full": {
                    "type": "boolean",
                    "description": "Whether the resync is a full one"
                },
                "state": {
                    "description": "State of the resync request",
                    "$ref": "#/definitions/Value"
                },
                "requestScope": {
                    "description": "The scope of the user request",
                    "$ref": "#/definitions/ResyncRequestScope"
                },
                "markerScope": {
                    "description": "The scope of the user request",
                    "$ref": "#/definitions/MarkerResyncScope"
                },
                "eventsReceived": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of events received"
                },
                "eventsProcessed": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of events processed"
                },
                "pendingTerminateRequest": {
                    "type": "number",
                    "description": "Number of resources to terminate"
                },
                "processedTerminateRequest": {
                    "type": "number",
                    "description": "Number of termination processed"
                },
                "detail": {
                    "type": "string",
                    "description": "Detail about the status"
                },
                "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Detail about the status"
                },
                "updatedAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Detail about the status"
                }
            },
            "description": "Information describing the status of a resync request"
        },
        "ResourceTypeDefinition": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier of the resource type"
                },
                "title": {
                    "type": "string",
                    "description": "Resource type name"
                },
                "description": {
                    "type": "string",
                    "description": "Resource type description"
                },
                "version": {
                    "type": "string",
                    "description": "Resource type version identifier"
                },
                "derivedFrom": {
                    "type": "array",
                    "description": "URI of model artifacts from which this artifact is derived from",
                    "items": {
                        "type": "string"
                    }
                },
                "experimental": {
                    "type": "boolean",
                    "description": "Experimental type artifact"
                },
                "abstract": {
                    "type": "boolean",
                    "description": "Abstract type artifact"
                },
                "model": {
                    "description": "Resource type content",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "Meta-information and content for a resource type"
        },
        "Tuple2": {
            "type": "object",
            "required": [
                "_1",
                "_2"
            ],
            "properties": {
                "_1": {
                    "type": "number"
                },
                "_2": {
                    "type": "number"
                }
            }
        },
        "ListReply[ResourceHistoryEvent]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/ResourceHistoryEvent"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "MarkerResyncScope": {
            "type": "object",
            "properties": {
                "resourceTypes": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "filterParam": {
                    "$ref": "#/definitions/MarkerResyncScopeFilter"
                },
                "providerResourceId": {
                    "type": "string"
                }
            }
        },
        "ListReply[SubDomain]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/SubDomain"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ListReply[DomainType]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/DomainType"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ResourceOperation": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identifier for the operation"
                },
                "resourceId": {
                    "type": "string",
                    "description": "ID of the resource"
                },
                "interface": {
                    "type": "string",
                    "description": "ID of the interface"
                },
                "title": {
                    "type": "string",
                    "description": "Title of the operation"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the operation"
                },
                "inputs": {
                    "description": "Inputs of the operation",
                    "$ref": "#/definitions/JObject"
                },
                "outputs": {
                    "description": "Outputs of the operation",
                    "$ref": "#/definitions/JObject"
                },
                "state": {
                    "type": "string",
                    "description": "Current state of the operation",
                    "enum": [
                        "requested",
                        "pending",
                        "scheduled",
                        "executing",
                        "successful",
                        "failed",
                        "cancelled"
                    ]
                },
                "reason": {
                    "type": "string",
                    "description": "Reason for the operation state"
                },
                "progress": {
                    "description": "Describes any progress towards completion that the operation has made",
                    "$ref": "#/definitions/JArray"
                },
                "providerData": {
                    "description": "Provider custom data",
                    "$ref": "#/definitions/JObject"
                },
                "createdAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "When the operation was created"
                },
                "updatedAt": {
                    "type": "string",
                    "format": "date-time",
                    "description": "When the operation was last updated"
                },
                "revision": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Strictly increasing revision number, incremented every update"
                },
                "resourceStateConstraints": {
                    "description": "Constraints of the resource state for this operation to execute",
                    "$ref": "#/definitions/JObject"
                },
                "executionGroup": {
                    "type": "string",
                    "description": "Execution group of the operation"
                }
            },
            "description": "Information describing a resource operation"
        },
        "AdminRangeList": {
            "type": "object"
        },
        "Aggregation": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "buckets": {
                    "type": "array",
                    "description": "An explanation about the purpose of this instance.",
                    "items": {
                        "$ref": "#/definitions/Bucket"
                    }
                }
            }
        },
        "AggregationBucket": {
            "type": "object",
            "properties": {
                "bucketKey": {
                    "type": "string"
                },
                "bucketValue": {
                    "type": "string"
                },
                "subAggregations": {
                    "$ref": "#/definitions/Aggregation"
                }
            }
        },
        "ApplyFPGAAttributes": {
            "type": "object",
            "properties": {
                "networkConstructName": {
                    "type": "string"
                },
                "aid": {
                    "type": "string"
                }
            }
        },
        "AttributesBO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "supportedTypeGroups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "supportedProfileTypes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "executionBO": {
                    "$ref": "#/definitions/ExecutionBO"
                }
            }
        },
        "BGPSessionAddPaths": {
            "type": "object",
            "properties": {
                "capability": {
                    "type": "string",
                    "enum": [
                        "send",
                        "receive",
                        "both",
                        "disable"
                    ]
                },
                "advertise": {
                    "type": "string",
                    "enum": [
                        "all",
                        "best2",
                        "best3"
                    ]
                }
            }
        },
        "BGPSessionNE": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "ipInterface": {
                    "type": "string"
                },
                "nodeRole": {
                    "type": "string"
                },
                "peerAs": {
                    "type": "integer",
                    "format": "int64"
                },
                "peerIp": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "group": {
                    "type": "string"
                },
                "rrEnabled": {
                    "type": "boolean",
                    "default": false
                },
                "isSecretMode": {
                    "type": "boolean",
                    "default": false
                },
                "authenticationPassword": {
                    "type": "string"
                },
                "orf": {
                    "$ref": "#/definitions/BGPSessionORF"
                },
                "prefixList": {
                    "$ref": "#/definitions/BGPSessionPrefixList"
                },
                "routeMap": {
                    "$ref": "#/definitions/BGPSessionRouteMap"
                },
                "nextHopSelf": {
                    "$ref": "#/definitions/BGPSessionNextHopSelf"
                },
                "addPaths": {
                    "$ref": "#/definitions/BGPSessionAddPaths"
                }
            }
        },
        "BGPSessionNextHopSelf": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "default": false
                },
                "excludeReflectedRoutes": {
                    "type": "string"
                }
            }
        },
        "BGPSessionORF": {
            "type": "object",
            "properties": {
                "enabled": {
                    "type": "boolean",
                    "default": false
                },
                "type": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                }
            }
        },
        "BGPSessionPrefixList": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                }
            }
        },
        "BGPSessionRequest": {
            "type": "object",
            "properties": {
                "action": {
                    "type": "string",
                    "enum": [
                        "create",
                        "update",
                        "delete"
                    ]
                },
                "addressFamilies": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "bfdMonitor": {
                    "type": "string",
                    "enum": [
                        "shop",
                        "mhop"
                    ]
                },
                "bgpBest2": {
                    "type": "string"
                },
                "vpnUnicast": {
                    "type": "string"
                },
                "bgpDiversePath": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "keepaliveTime": {
                    "type": "integer",
                    "format": "int32"
                },
                "holdTime": {
                    "type": "integer",
                    "format": "int32"
                },
                "advertisementInterval": {
                    "type": "integer",
                    "format": "int32"
                },
                "grEnabled": {
                    "type": "boolean",
                    "default": false
                },
                "aEnd": {
                    "$ref": "#/definitions/BGPSessionNE"
                },
                "zEnd": {
                    "$ref": "#/definitions/BGPSessionNE"
                }
            }
        },
        "BGPSessionRouteMap": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "direction": {
                    "type": "string",
                    "enum": [
                        "in",
                        "out"
                    ]
                }
            }
        },
        "BackupImageDetails": {
            "type": "object",
            "properties": {
                "imageLocation": {
                    "type": "string"
                },
                "creationTime": {
                    "type": "string"
                },
                "neType": {
                    "type": "string"
                },
                "fileSize": {
                    "type": "string"
                },
                "backupType": {
                    "type": "string",
                    "enum": [
                        "MANUAL",
                        "SCHEDULED"
                    ]
                }
            }
        },
        "BackupImageFtpProfileMapper": {
            "type": "object",
            "properties": {
                "profileName": {
                    "type": "string"
                },
                "backupImageDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BackupImageDetails"
                    }
                }
            }
        },
        "BackupImages": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/BackupImageFtpProfileMapper"
                }
            }
        },
        "BackupOperationDetails": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string"
                },
                "operationTime": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "BatchAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "BACKUP",
                        "PRE_UPGRADE",
                        "UPGRADE",
                        "POST_UPGRADE",
                        "SCRIPT",
                        "CUSTOM_SCRIPT"
                    ]
                },
                "configMgmtJobId": {
                    "type": "string"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "IDLE",
                        "INPROGRESS",
                        "SCHEDULED",
                        "ABORTED",
                        "COMPLETED"
                    ]
                },
                "lastExecutionTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "nextExecutionTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "scheduleDetails": {
                    "$ref": "#/definitions/ScheduleDetails"
                },
                "neDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BatchNeDetails"
                    }
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "BatchNeDetails": {
            "type": "object",
            "properties": {
                "ncId": {
                    "type": "string"
                },
                "neName": {
                    "type": "string"
                },
                "neType": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                }
            }
        },
        "BatchNeStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/BatchNeStatusAttributes"
                }
            }
        },
        "BatchNeStatusAttributes": {
            "type": "object",
            "properties": {
                "ncId": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "siteName": {
                    "type": "string"
                },
                "syncState": {
                    "type": "string"
                },
                "associationState": {
                    "type": "string"
                },
                "maintenanceState": {
                    "type": "string"
                },
                "batches": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "operationType": {
                    "type": "string"
                },
                "lastOperationResult": {
                    "type": "string"
                },
                "lastExecutionTime": {
                    "type": "string"
                },
                "nextExecutionTime": {
                    "type": "string"
                },
                "lastRestoreTime": {
                    "type": "string"
                },
                "triggerType": {
                    "type": "string",
                    "enum": [
                        "MANUAL",
                        "SCHEDULED"
                    ]
                },
                "operationStage": {
                    "type": "string"
                },
                "softwareVersion": {
                    "type": "string"
                }
            }
        },
        "BatchNeStatusList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BatchNeStatus"
                    }
                }
            }
        },
        "BatchRemoveRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/BatchRemoveRequestData"
                }
            }
        },
        "BatchRemoveRequestData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "batchRemovalRequests"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/BatchRemoveRequestDataAttributes"
                }
            }
        },
        "BatchRemoveRequestDataAttributes": {
            "type": "object",
            "properties": {
                "batchIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "BatchStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/BatchAttributes"
                }
            }
        },
        "BatchStatusList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BatchStatus"
                    }
                }
            }
        },
        "BulkOperationAttributes": {
            "type": "object",
            "properties": {
                "operationType": {
                    "type": "string"
                },
                "operationStartTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "operationStatus": {
                    "type": "string"
                },
                "totalResources": {
                    "type": "integer",
                    "format": "int32"
                },
                "applicableResources": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "BulkOperationsResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/BulkOperationAttributes"
                }
            }
        },
        "CMOperationStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/CMOperationStatusAttributes"
                }
            }
        },
        "CMOperationStatusAttributes": {
            "type": "object",
            "properties": {
                "ncId": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "siteName": {
                    "type": "string"
                },
                "maintenanceState": {
                    "type": "string"
                },
                "syncState": {
                    "type": "string"
                },
                "associationState": {
                    "type": "string"
                },
                "softwareVersion": {
                    "type": "string"
                },
                "lastOperationTime": {
                    "type": "string"
                },
                "nextOperationTime": {
                    "type": "string"
                },
                "operationStage": {
                    "type": "string"
                },
                "batches": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "lastOperationResult": {
                    "type": "string"
                }
            }
        },
        "CMOperationStatusList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CMOperationStatus"
                    }
                }
            }
        },
        "CentralizedRadiusServer": {
            "type": "object",
            "properties": {
                "queryMode": {
                    "type": "string"
                },
                "authenticationState": {
                    "type": "string"
                },
                "alternateMode": {
                    "type": "string"
                },
                "sharedSecret": {
                    "type": "string"
                }
            }
        },
        "CommandResult": {
            "type": "object",
            "properties": {
                "command": {
                    "type": "string"
                },
                "result": {
                    "$ref": "#/definitions/Result"
                }
            }
        },
        "Commissioning": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/CommissioningData"
                }
            }
        },
        "CommissioningData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/Attributes"
                },
                "relationships": {
                    "$ref": "#/definitions/Relationships"
                }
            }
        },
        "CommissioningFunctionAttributes": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "CommissioningFunctionData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/CommissioningFunctionAttributes"
                }
            }
        },
        "CommissioningFunctionList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CommissioningFunctionData"
                    }
                }
            }
        },
        "CommissioningProfile": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/CommissioningProfileData"
                }
            }
        },
        "CommissioningProfileAttributes": {
            "type": "object",
            "properties": {
                "function": {
                    "type": "string"
                },
                "profileType": {
                    "type": "string",
                    "enum": [
                        "DEFAULT",
                        "CUSTOM"
                    ]
                },
                "profileName": {
                    "type": "string"
                },
                "typeGroups": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "description": {
                    "type": "string"
                },
                "profileData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ProfileDataItem"
                    }
                },
                "role": {
                    "type": "string"
                },
                "lastUpdatedTime": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "CommissioningProfileData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/CommissioningProfileAttributes"
                }
            }
        },
        "CommissioningProfileList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CommissioningProfileData"
                    }
                }
            }
        },
        "CommissioningSettingDetails": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/CommissioningSettingDetailsAttribute"
                }
            }
        },
        "CommissioningSettingDetailsAttribute": {
            "type": "object",
            "properties": {
                "networkConstructId": {
                    "type": "string"
                },
                "managementSessionId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string"
                },
                "resourceType": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "associationState": {
                    "type": "string"
                },
                "ntpSettings": {
                    "$ref": "#/definitions/NTPSettings"
                },
                "ntpPn10xSettings": {
                    "$ref": "#/definitions/NtpPn10xSettings"
                },
                "isisSettings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ISISSettings"
                    }
                },
                "licensePn10xSettings": {
                    "$ref": "#/definitions/LicensePn10xSettings"
                },
                "pmStatsConfigurationSettings": {
                    "$ref": "#/definitions/PMStatsConfigurationSettings"
                },
                "shelf": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CommissioningShelf"
                    }
                }
            }
        },
        "CommissioningSettingDetailsList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CommissioningSettingDetails"
                    }
                }
            }
        },
        "CommissioningShelf": {
            "type": "object",
            "properties": {
                "shelfName": {
                    "type": "string"
                },
                "radiusSettings": {
                    "$ref": "#/definitions/RadiusSettings"
                },
                "licenseSettings": {
                    "$ref": "#/definitions/LicenseSettings"
                },
                "sshSettings": {
                    "$ref": "#/definitions/SSHSettings"
                },
                "systemSettings": {
                    "$ref": "#/definitions/SystemSettings"
                },
                "ndpSettings": {
                    "$ref": "#/definitions/NDPSettings"
                },
                "docSettings": {
                    "$ref": "#/definitions/DOCSettings"
                },
                "osrpNodesSettings": {
                    "$ref": "#/definitions/OSRPNodesSettings"
                }
            }
        },
        "ConfigDOC": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ConfigDOCAttributes"
                }
            }
        },
        "ConfigDOCAttributes": {
            "type": "object",
            "properties": {
                "networkConstructName": {
                    "type": "string"
                },
                "networkConstructId": {
                    "type": "string"
                },
                "primaryState": {
                    "type": "string"
                },
                "docName": {
                    "type": "string"
                },
                "selected": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "ConfigDOCResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConfigDOC"
                    }
                }
            }
        },
        "ConfigMgmtJobOutput": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ConfigMgmtJobOutputData"
                }
            }
        },
        "ConfigMgmtJobOutputData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ScriptResultAttributes"
                }
            }
        },
        "ConfigMgmtJobResponse": {
            "type": "object",
            "properties": {
                "jobId": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "input": {
                    "$ref": "#/definitions/UserInput"
                },
                "output": {
                    "$ref": "#/definitions/ConfigMgmtJobOutput"
                }
            }
        },
        "ConflictingSid": {
            "type": "object",
            "properties": {
                "conflictingData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NCData"
                    }
                },
                "prefixSids": {
                    "type": "string"
                }
            }
        },
        "ConnectionAttributes": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ConnectionAttributesData"
                    }
                }
            }
        },
        "ConnectionAttributesData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "CreateBFDSessionRequest": {
            "type": "object",
            "properties": {
                "bfdSessionName": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "neighbour": {
                    "type": "string"
                },
                "bfdProfile": {
                    "type": "string"
                }
            }
        },
        "CreateBGPSessionRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BGPSessionRequest"
                    }
                }
            }
        },
        "CustomScript": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/CustomScriptAttributes"
                }
            }
        },
        "CustomScriptAttributes": {
            "type": "object",
            "properties": {
                "typeGroup": {
                    "type": "string"
                },
                "protocolType": {
                    "type": "string"
                },
                "scriptName": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                }
            }
        },
        "CustomScriptList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CustomScript"
                    }
                }
            }
        },
        "CustomScriptsList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CustomScript"
                    }
                }
            }
        },
        "DOCDetail": {
            "type": "object",
            "properties": {
                "networkConstructName": {
                    "type": "string"
                },
                "docNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "DOCSettings": {
            "type": "object",
            "properties": {
                "docState": {
                    "type": "string"
                },
                "autoAddChannels": {
                    "type": "string"
                },
                "autoDeleteChannels": {
                    "type": "string"
                },
                "autoSquelchChannels": {
                    "type": "string"
                },
                "autoSquelchHoldOff": {
                    "type": "string"
                },
                "mode": {
                    "type": "string"
                }
            }
        },
        "DeleteBFDSessionRequest": {
            "type": "object",
            "properties": {
                "bfdSessionName": {
                    "type": "string"
                },
                "source": {
                    "type": "string"
                },
                "neighbour": {
                    "type": "string"
                }
            }
        },
        "DeleteCommissioningRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/DeleteCommissioningRequestData"
                }
            }
        },
        "DeleteCommissioningRequestAttributes": {
            "type": "object",
            "properties": {
                "neCommissioningDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NeCommissioningDetail"
                    }
                }
            }
        },
        "DeleteCommissioningRequestData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/DeleteCommissioningRequestAttributes"
                }
            }
        },
        "Distribution": {
            "type": "object",
            "properties": {
                "protocol": {
                    "type": "string"
                },
                "throttle": {
                    "type": "string"
                }
            }
        },
        "EditDOC": {
            "type": "object",
            "properties": {
                "operationType": {
                    "type": "string",
                    "enum": [
                        "ENABLE",
                        "DISABLE"
                    ]
                },
                "docDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/DOCDetail"
                    }
                }
            }
        },
        "ExecutionBO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "raCommand": {
                    "type": "string"
                },
                "productRequestParams": {
                    "$ref": "#/definitions/ProductRequestParamsBO"
                }
            }
        },
        "FPGADetails": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/FPGADetailsAttributes"
                }
            }
        },
        "FPGADetailsAttributes": {
            "type": "object",
            "properties": {
                "softwareType": {
                    "type": "string"
                },
                "currentFPGA": {
                    "type": "string"
                },
                "availableFPGA": {
                    "type": "string"
                }
            }
        },
        "FPGADetailsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FPGADetails"
                    }
                }
            }
        },
        "FallbackPasswordPolicyBO": {
            "type": "object",
            "properties": {
                "lowercaseMinimum": {
                    "type": "integer",
                    "format": "int32"
                },
                "uppercaseMinimum": {
                    "type": "integer",
                    "format": "int32"
                },
                "digitMinimum": {
                    "type": "integer",
                    "format": "int32"
                },
                "specialMinimum": {
                    "type": "integer",
                    "format": "int32"
                },
                "passwordLength": {
                    "type": "integer",
                    "format": "int32"
                },
                "maximumConsecutiveCharacters": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "FallbackPasswordPolicyRequest": {
            "type": "object",
            "properties": {
                "lowercaseMinimum": {
                    "type": "integer",
                    "format": "int32"
                },
                "uppercaseMinimum": {
                    "type": "integer",
                    "format": "int32"
                },
                "digitMinimum": {
                    "type": "integer",
                    "format": "int32"
                },
                "specialMinimum": {
                    "type": "integer",
                    "format": "int32"
                },
                "passwordLength": {
                    "type": "integer",
                    "format": "int32"
                },
                "maximumConsecutiveCharacters": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "FallbackPasswordPolicyResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/FallbackPasswordPolicyRequest"
                }
            }
        },
        "FallbackPasswordResetRequest": {
            "type": "object",
            "properties": {
                "neType": {
                    "type": "string"
                },
                "neNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "resetSchedule": {
                    "$ref": "#/definitions/FallbackResetScheduleRequest"
                }
            }
        },
        "FallbackPasswordResetResponse": {
            "type": "object",
            "properties": {
                "neType": {
                    "type": "string"
                },
                "neNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "resetSchedule": {
                    "$ref": "#/definitions/FallbackResetScheduleResponse"
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "FallbackResetScheduleListResponse": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/FallbackUserListMeta"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FallbackResetScheduleResponse"
                    }
                }
            }
        },
        "FallbackResetScheduleRequest": {
            "type": "object",
            "properties": {
                "frequency": {
                    "type": "string"
                },
                "startTime": {
                    "type": "string"
                },
                "jobId": {
                    "type": "string"
                }
            }
        },
        "FallbackResetScheduleResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "frequency": {
                    "type": "string"
                },
                "neNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "nextExecutionTime": {
                    "type": "string"
                }
            }
        },
        "FallbackUserCreationRequest": {
            "type": "object",
            "properties": {
                "neType": {
                    "type": "string"
                },
                "neNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "FallbackUserCreationResponse": {
            "type": "object",
            "properties": {
                "neType": {
                    "type": "string"
                },
                "neNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "FallbackUserDeletionRequest": {
            "type": "object",
            "properties": {
                "neType": {
                    "type": "string"
                },
                "neNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "FallbackUserDeletionResponse": {
            "type": "object",
            "properties": {
                "neType": {
                    "type": "string"
                },
                "neNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "FallbackUserListMeta": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "FallbackUserListResponse": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/FallbackUserListMeta"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FallbackUserResponse"
                    }
                }
            }
        },
        "FallbackUserResponse": {
            "type": "object",
            "properties": {
                "neType": {
                    "type": "string"
                },
                "neName": {
                    "type": "string"
                },
                "userName": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "lastOperationState": {
                    "type": "string"
                },
                "lastOperationNote": {
                    "type": "string"
                },
                "lastOperationTime": {
                    "type": "string"
                }
            }
        },
        "Frr": {
            "type": "object"
        },
        "FtpProfile": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "profileType": {
                    "type": "string",
                    "enum": [
                        "backup_restore",
                        "upgrade"
                    ]
                },
                "protocolType": {
                    "type": "string",
                    "enum": [
                        "sftp",
                        "ftp",
                        "https"
                    ]
                },
                "storageMethod": {
                    "type": "string",
                    "enum": [
                        "filesystem",
                        "database"
                    ]
                },
                "userName": {
                    "type": "string"
                },
                "userPassword": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "port": {
                    "type": "integer",
                    "format": "int32"
                },
                "imageLocation": {
                    "type": "string"
                }
            }
        },
        "FtpProfileAttribs": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/FtpProfile"
                }
            }
        },
        "FtpProfileResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FtpProfileAttribs"
                    }
                }
            }
        },
        "Function": {
            "type": "object",
            "properties": {
                "functionName": {
                    "type": "string"
                },
                "relationships": {
                    "$ref": "#/definitions/FunctionRelationship"
                }
            }
        },
        "FunctionRelationship": {
            "type": "object",
            "properties": {
                "commissioningProfile": {
                    "$ref": "#/definitions/CommissioningProfile"
                }
            }
        },
        "GracefulRestart": {
            "type": "object",
            "properties": {
                "graceful-restart": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "ISISSettings": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "netAddress": {
                    "type": "string"
                },
                "isisLevel": {
                    "type": "string"
                },
                "srState": {
                    "type": "string"
                },
                "adminDistance": {
                    "type": "string"
                },
                "metricStyle": {
                    "type": "string"
                },
                "lspRefreshTimer": {
                    "type": "string"
                },
                "lspLifeTime": {
                    "type": "string"
                },
                "dynamicHostnameEnabled": {
                    "type": "boolean",
                    "default": false
                },
                "cspfFlag": {
                    "type": "boolean",
                    "default": false
                },
                "mplsTe": {
                    "$ref": "#/definitions/MplsTe"
                },
                "graceful-restart": {
                    "$ref": "#/definitions/GracefulRestart"
                },
                "overload": {
                    "$ref": "#/definitions/Overload"
                },
                "level-1": {
                    "$ref": "#/definitions/LevelData"
                },
                "level-2": {
                    "$ref": "#/definitions/LevelData"
                },
                "ipv4Redistribution": {
                    "$ref": "#/definitions/Ipv4Redistribution"
                },
                "ipv6Redistribution": {
                    "$ref": "#/definitions/Ipv6Redistribution"
                },
                "segmentRoutingBindings": {
                    "$ref": "#/definitions/SegmentRoutingBindings"
                },
                "operationalRangeList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/OperationalRangeList"
                    }
                },
                "adminRangeList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AdminRangeList"
                    }
                },
                "frr": {
                    "$ref": "#/definitions/Frr"
                },
                "multiTopology": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MultiTopology"
                    }
                },
                "distribution": {
                    "$ref": "#/definitions/Distribution"
                },
                "algorithm": {
                    "type": "string"
                },
                "total-sid": {
                    "type": "string"
                },
                "preference": {
                    "type": "string"
                },
                "srMappingEntries": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrMappingEntry"
                    }
                }
            }
        },
        "Included": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/IncludedAttributes"
                }
            }
        },
        "IncludedAttributes": {
            "type": "object",
            "properties": {
                "ncId": {
                    "type": "string"
                },
                "neName": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "profileName": {
                    "type": "string"
                },
                "profileId": {
                    "type": "string"
                },
                "file": {
                    "type": "string"
                },
                "neType": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "failOnServiceAffectingAlarms": {
                    "type": "boolean",
                    "default": false
                },
                "manuallyInvokeCards": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "IncludedAttributesBO": {
            "type": "object",
            "properties": {
                "file": {
                    "type": "string"
                }
            }
        },
        "IncludedDataBO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/IncludedAttributesBO"
                }
            }
        },
        "Input": {
            "type": "object",
            "properties": {
                "inputId": {
                    "type": "string"
                },
                "cmdFile": {
                    "type": "string"
                },
                "function": {
                    "type": "string"
                },
                "protocolType": {
                    "type": "string",
                    "enum": [
                        "cli",
                        "tl1",
                        "netconf"
                    ]
                }
            }
        },
        "Ipv4Redistribution": {
            "type": "object"
        },
        "Ipv6Redistribution": {
            "type": "object"
        },
        "JSONObject": {
            "type": "object"
        },
        "KeyValuePair": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "LagProvisioningAttributes": {
            "type": "object"
        },
        "LagProvisioningRequest": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "group": {
                    "type": "string"
                },
                "action": {
                    "type": "string",
                    "enum": [
                        "create",
                        "delete",
                        "update",
                        "add",
                        "remove",
                        "unset"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/LagProvisioningAttributes"
                }
            }
        },
        "LevelData": {
            "type": "object",
            "properties": {
                "level-type": {
                    "type": "string"
                },
                "lsp-gen-interval": {
                    "type": "string"
                },
                "spf-min-delay": {
                    "type": "string"
                },
                "spf-max-delay": {
                    "type": "string"
                },
                "lsp-mtu": {
                    "type": "string"
                }
            }
        },
        "LicensePn10xSettings": {
            "type": "object",
            "properties": {
                "serverEnable": {
                    "type": "string"
                },
                "hostname": {
                    "type": "string"
                },
                "protocol": {
                    "type": "string"
                },
                "serverPort": {
                    "type": "string"
                },
                "refreshTime": {
                    "type": "string"
                }
            }
        },
        "LicenseSettings": {
            "type": "object",
            "properties": {
                "primaryServerIp": {
                    "type": "string"
                },
                "primaryStatus": {
                    "type": "string"
                },
                "secondaryServerIp": {
                    "type": "string"
                },
                "secondaryStatus": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "protocol": {
                    "type": "string"
                },
                "proxy": {
                    "type": "string"
                },
                "proxyServerIp": {
                    "type": "string"
                },
                "proxyPort": {
                    "type": "string"
                },
                "auditTime": {
                    "type": "string"
                },
                "lastExchangeTime": {
                    "type": "string"
                },
                "licensingPolicy": {
                    "type": "string"
                }
            }
        },
        "Links": {
            "type": "object",
            "properties": {
                "self": {
                    "type": "string",
                    "format": "uri",
                    "description": "A `self` member, whose value is a URL for the relationship itself (a \"relationship URL\"). This URL allows the client to directly manipulate the relationship. For example, it would allow a client to remove an `author` from an `article` without deleting the people resource itself."
                },
                "first": {
                    "type": "string",
                    "format": "uri",
                    "description": "The first page of data"
                },
                "last": {
                    "type": "string",
                    "format": "uri",
                    "description": "The last page of data"
                },
                "prev": {
                    "type": "string",
                    "format": "uri",
                    "description": "The previous page of data"
                },
                "next": {
                    "type": "string",
                    "format": "uri",
                    "description": "The next page of data"
                },
                "current": {
                    "type": "string",
                    "format": "uri",
                    "description": "The current page of data"
                }
            }
        },
        "ManualInvokeAttributes": {
            "type": "object",
            "properties": {
                "networkConstructName": {
                    "type": "string"
                },
                "slotId": {
                    "type": "string"
                }
            }
        },
        "ManualResume": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ManualResumeData"
                }
            }
        },
        "ManualResumeAttributes": {
            "type": "object",
            "properties": {
                "neDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NeDetail"
                    }
                }
            }
        },
        "ManualResumeData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ManualResumeAttributes"
                }
            }
        },
        "ManualSuspend": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ManualSuspendData"
                }
            }
        },
        "ManualSuspendAttributes": {
            "type": "object",
            "properties": {
                "neDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NeDetail"
                    }
                }
            }
        },
        "ManualSuspendData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ManualSuspendAttributes"
                }
            }
        },
        "MetaData": {
            "type": "object",
            "properties": {
                "descriptors": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "delimiter": {
                    "type": "string"
                }
            }
        },
        "MplsTe": {
            "type": "object",
            "properties": {
                "routerId": {
                    "type": "string"
                },
                "level-type": {
                    "type": "string"
                }
            }
        },
        "MultiTopology": {
            "type": "object",
            "properties": {
                "level": {
                    "type": "string"
                },
                "transition": {
                    "type": "string"
                }
            }
        },
        "NCData": {
            "type": "object",
            "properties": {
                "ncId": {
                    "type": "string"
                },
                "ncIpAddress": {
                    "type": "string"
                },
                "neTypeGrp": {
                    "type": "string"
                },
                "neName": {
                    "type": "string"
                },
                "prefixType": {
                    "type": "string"
                }
            }
        },
        "NDPSettings": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string"
                }
            }
        },
        "NTPServer": {
            "type": "object",
            "properties": {
                "ipAddress": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "NTPSettings": {
            "type": "object",
            "properties": {
                "tod": {
                    "type": "string"
                },
                "nextSync": {
                    "type": "string"
                },
                "lastSync": {
                    "type": "string"
                },
                "detectedOffset": {
                    "type": "string"
                },
                "ntpServer1": {
                    "$ref": "#/definitions/NTPServer"
                },
                "ntpServer2": {
                    "$ref": "#/definitions/NTPServer"
                },
                "ntpServer3": {
                    "$ref": "#/definitions/NTPServer"
                },
                "ntpServer4": {
                    "$ref": "#/definitions/NTPServer"
                },
                "ntpServer5": {
                    "$ref": "#/definitions/NTPServer"
                },
                "pollingInterval": {
                    "type": "string"
                },
                "sync": {
                    "type": "string"
                }
            }
        },
        "NeBackupImagesResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BackupImages"
                    }
                }
            }
        },
        "NeBackupRestoreStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/NeBackupRestoreStatusAttributes"
                }
            }
        },
        "NeBackupRestoreStatusAttributes": {
            "type": "object",
            "properties": {
                "ncId": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "siteName": {
                    "type": "string"
                },
                "maintenanceState": {
                    "type": "string"
                },
                "syncState": {
                    "type": "string"
                },
                "associationState": {
                    "type": "string"
                },
                "lastBackupTime": {
                    "type": "string"
                },
                "lastRestoreTime": {
                    "type": "string"
                },
                "nextBackupTime": {
                    "type": "string"
                },
                "backupType": {
                    "type": "string",
                    "enum": [
                        "MANUAL",
                        "SCHEDULED"
                    ]
                },
                "batches": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "lastOperationResult": {
                    "type": "string"
                }
            }
        },
        "NeBackupRestoreStatusList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NeBackupRestoreStatus"
                    }
                }
            }
        },
        "NeCommissioningDetail": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "identifiers": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "$ref": "#/definitions/NeCommissioningIdentifier"
                    }
                }
            }
        },
        "NeCommissioningIdentifier": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "result": {
                    "$ref": "#/definitions/NeCommissioningIdentifierResult"
                }
            }
        },
        "NeCommissioningIdentifierResult": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string"
                },
                "msg": {
                    "type": "string"
                }
            }
        },
        "NeDetail": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "neType": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                }
            }
        },
        "NeMaintenanceDetails": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/NeMaintenanceDetailsAttributes"
                }
            }
        },
        "NeMaintenanceDetailsAttributes": {
            "type": "object",
            "properties": {
                "networkConstructId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "longName": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string"
                },
                "managementSessionId": {
                    "type": "string"
                },
                "resourceType": {
                    "type": "string"
                },
                "deviceType": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "associationState": {
                    "type": "string"
                },
                "associationStateQualifier": {
                    "type": "string",
                    "enum": [
                        "MANUAL",
                        "SYSTEM",
                        "NETWORK"
                    ]
                },
                "associationStateQualifierReason": {
                    "type": "string"
                },
                "syncState": {
                    "type": "string"
                },
                "physicalLocationId": {
                    "type": "string"
                },
                "subnetName": {
                    "type": "string"
                },
                "softwareActiveVersion": {
                    "type": "string"
                },
                "softwareAvailableVersions": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "backupSchedules": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "upgradeSchedules": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "customScriptSchedules": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "recentOperation": {
                    "type": "string"
                },
                "recentOperationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "nextOperation": {
                    "type": "string"
                },
                "nextOperationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "recentOperationState": {
                    "type": "string"
                },
                "recentOperationProgressStage": {
                    "type": "string"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "NeMaintenanceDetailsList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NeMaintenanceDetails"
                    }
                }
            }
        },
        "NeMaintenanceProfile": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/NeMaintenanceProfileAttributes"
                }
            }
        },
        "NeMaintenanceProfileAttributes": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "profileType": {
                    "type": "string",
                    "enum": [
                        "backup_restore",
                        "upgrade"
                    ]
                },
                "protocolType": {
                    "type": "string",
                    "enum": [
                        "sftp",
                        "ftp",
                        "https"
                    ]
                },
                "storageMethod": {
                    "type": "string",
                    "enum": [
                        "filesystem",
                        "database"
                    ]
                },
                "userName": {
                    "type": "string"
                },
                "userPassword": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "port": {
                    "type": "integer",
                    "format": "int32"
                },
                "imageLocation": {
                    "type": "string"
                }
            }
        },
        "NeMaintenanceProfilesList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NeMaintenanceProfile"
                    }
                }
            }
        },
        "NeUpgradeDetails": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/NeUpgradeDetailsAttributes"
                }
            }
        },
        "NeUpgradeDetailsAttributes": {
            "type": "object",
            "properties": {
                "networkConstructId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "longName": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string"
                },
                "managementSessionId": {
                    "type": "string"
                },
                "resourceType": {
                    "type": "string"
                },
                "deviceType": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "associationState": {
                    "type": "string"
                },
                "associationStateQualifier": {
                    "type": "string",
                    "enum": [
                        "MANUAL",
                        "SYSTEM",
                        "NETWORK"
                    ]
                },
                "associationStateQualifierReason": {
                    "type": "string"
                },
                "syncState": {
                    "type": "string"
                },
                "physicalLocationId": {
                    "type": "string"
                },
                "subnetName": {
                    "type": "string"
                },
                "gneOrRNE": {
                    "type": "string"
                },
                "recentOperation": {
                    "type": "string"
                },
                "recentOperationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "recentOperationState": {
                    "type": "string"
                },
                "recentOperationProgressStage": {
                    "type": "string"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "backupOperation": {
                    "$ref": "#/definitions/BackupOperationDetails"
                },
                "releaseManagementOperation": {
                    "$ref": "#/definitions/ReleaseManagementOperationDetails"
                },
                "upgradeOperation": {
                    "$ref": "#/definitions/UpgradeOperationDetails"
                }
            }
        },
        "NeUpgradeDetailsList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NeUpgradeDetails"
                    }
                }
            }
        },
        "NetworkConstructs": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NetworkConstructsData"
                    }
                }
            }
        },
        "NetworkConstructsData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "NtpPn10xServer": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string"
                },
                "adminState": {
                    "type": "string"
                }
            }
        },
        "NtpPn10xSettings": {
            "type": "object",
            "properties": {
                "mode": {
                    "type": "string"
                },
                "adminState": {
                    "type": "string"
                },
                "pollingIntervalMin": {
                    "type": "string"
                },
                "pollingIntervalMax": {
                    "type": "string"
                },
                "remoteNtpServers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NtpPn10xServer"
                    }
                }
            }
        },
        "OSRPNodesSettings": {
            "type": "object",
            "properties": {
                "retainHomePath": {
                    "type": "string"
                },
                "revertType": {
                    "type": "string"
                },
                "timeToRevert": {
                    "type": "string"
                }
            }
        },
        "OperationNEResource": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/OperationNEResourceAttributes"
                }
            }
        },
        "OperationNEResourceAttributes": {
            "type": "object",
            "properties": {
                "operationType": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "startTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "endTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "networkConstructId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string"
                },
                "resourceType": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "associationState": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "softwareActiveVersion": {
                    "type": "string"
                },
                "loopbackIpAddress": {
                    "type": "string"
                },
                "nodeSid": {
                    "type": "integer",
                    "format": "int32"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "OperationNEResourceCollection": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/OperationNEResource"
                    }
                }
            }
        },
        "OperationProgressStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/OperationProgressStatusAttributes"
                }
            }
        },
        "OperationProgressStatusAttributes": {
            "type": "object",
            "properties": {
                "operationType": {
                    "type": "string"
                },
                "executedResources": {
                    "type": "string"
                }
            }
        },
        "OperationStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/OperationStatusAttributes"
                }
            }
        },
        "OperationStatusAttributes": {
            "type": "object",
            "properties": {
                "operationType": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "startTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "endTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "failureStatus": {
                    "type": "string"
                },
                "totalResources": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "OperationStatusCollection": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/OperationStatus"
                    }
                }
            }
        },
        "OperationalRangeList": {
            "type": "object"
        },
        "Overload": {
            "type": "object",
            "properties": {
                "on-startup": {
                    "type": "string"
                },
                "suppress": {
                    "type": "string"
                },
                "timeout": {
                    "type": "string"
                }
            }
        },
        "PMStatsConfigurationSettings": {
            "type": "object",
            "properties": {
                "statsCollection": {
                    "type": "string"
                }
            }
        },
        "PacketNEInfo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/PacketNEInfoAttributes"
                }
            }
        },
        "PacketNEInfoAttributes": {
            "type": "object",
            "properties": {
                "networkConstructId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string"
                },
                "resourceType": {
                    "type": "string"
                },
                "typeGroup": {
                    "type": "string"
                },
                "associationState": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "softwareActiveVersion": {
                    "type": "string"
                },
                "loopbackIpAddress": {
                    "type": "string"
                },
                "nodeSid": {
                    "type": "integer",
                    "format": "int32"
                },
                "prefixType": {
                    "type": "string"
                },
                "srEnabled": {
                    "type": "boolean",
                    "default": false
                },
                "startRange": {
                    "type": "integer",
                    "format": "int32"
                },
                "endRange": {
                    "type": "integer",
                    "format": "int32"
                },
                "recentOperation": {
                    "type": "string"
                },
                "recentOperationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "recentOperationState": {
                    "type": "string"
                },
                "failureReason": {
                    "type": "string"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "PacketNEInfoCollection": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PacketNEInfo"
                    }
                }
            }
        },
        "ParentPolicerCreateDetails": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "ncId": {
                    "type": "string"
                },
                "parentPolicerName": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "cir": {
                    "type": "string"
                },
                "cbs": {
                    "type": "string"
                },
                "reSyncInventory": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "ParentPolicerDeleteDetails": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "ncId": {
                    "type": "string"
                },
                "parentPolicerName": {
                    "type": "string"
                },
                "reSyncInventory": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "ParentPolicerUpdateDetails": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "ncId": {
                    "type": "string"
                },
                "parentPolicerName": {
                    "type": "string"
                },
                "cir": {
                    "type": "string"
                },
                "cbs": {
                    "type": "string"
                },
                "reSyncInventory": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "PortDeProvisioningDetails": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "slot": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "otn": {
                    "type": "boolean",
                    "default": false
                },
                "scriptFileProperties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "reSyncInventory": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "PortMapping": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/PortMappingAttributes"
                }
            }
        },
        "PortMappingAttributes": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                }
            }
        },
        "PortMappingList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PortMapping"
                    }
                }
            }
        },
        "PortProvisioningDetails": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "slot": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "clientType": {
                    "type": "string"
                },
                "otn": {
                    "type": "boolean",
                    "default": false
                },
                "maxFrameSize": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "rate": {
                    "type": "string"
                },
                "customerId": {
                    "type": "string"
                },
                "scriptFileProperties": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "reSyncInventory": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "ProductRequestParamsBO": {
            "type": "object",
            "properties": {
                "q": {
                    "type": "string"
                },
                "p": {
                    "type": "string"
                }
            }
        },
        "ProfileAssociationAttributes": {
            "type": "object",
            "properties": {
                "jobExecuted": {
                    "type": "boolean",
                    "default": false
                },
                "associatedSchedules": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ProfileAssociations": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ProfileAssociationsData"
                }
            }
        },
        "ProfileAssociationsData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ProfileAssociationAttributes"
                }
            }
        },
        "ProfileDataBO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "ProfileDataItem": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                },
                "parent": {
                    "type": "string"
                },
                "grandParent": {
                    "type": "string"
                }
            }
        },
        "ProfilesBO": {
            "type": "object",
            "properties": {
                "profileDataBOList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ProfileDataBO"
                    }
                }
            }
        },
        "QueuePortRootScheduler": {
            "type": "object",
            "properties": {
                "portRootschedulerName": {
                    "type": "string"
                },
                "cirPolicy": {
                    "type": "string",
                    "enum": [
                        "no_auto_adjust",
                        "child_Cir_as_percent",
                        "cir_as_percent",
                        "child_cir_sum"
                    ]
                },
                "cirPercent": {
                    "type": "integer",
                    "format": "int32"
                },
                "cbs": {
                    "type": "integer",
                    "format": "int32"
                },
                "eirPolicy": {
                    "type": "string",
                    "enum": [
                        "no_auto_adjust",
                        "eir_as_percent"
                    ]
                },
                "eirPercent": {
                    "type": "integer",
                    "format": "int32"
                },
                "ebs": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "QueuePortScheduler": {
            "type": "object",
            "properties": {
                "schedulerAlgorithm": {
                    "type": "string",
                    "enum": [
                        "strict",
                        "weighted_fair_queuing",
                        "round_robin",
                        "weighted_round_robin",
                        "weighted_deficit_round_robin",
                        "sp",
                        "rr",
                        "wrr",
                        "wfq"
                    ]
                },
                "cirPolicy": {
                    "type": "string",
                    "enum": [
                        "no_auto_adjust",
                        "child_cir_as_percent",
                        "cir_as_percent",
                        "child_cir_sum",
                        "auto_adjust_disabled"
                    ]
                },
                "cirPercent": {
                    "type": "integer",
                    "format": "int32"
                },
                "cbs": {
                    "type": "integer",
                    "format": "int32"
                },
                "eirPolicy": {
                    "type": "string",
                    "enum": [
                        "no_auto_adjust",
                        "eir_as_percent",
                        "auto_adjust_disabled"
                    ]
                },
                "eirPercent": {
                    "type": "integer",
                    "format": "int32"
                },
                "ebs": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "QueueProvisionAttributes": {
            "type": "object",
            "properties": {
                "schedulerName": {
                    "type": "string"
                },
                "schedulerInstanceName": {
                    "type": "string"
                },
                "schedulerInstanceId": {
                    "type": "integer",
                    "format": "int32"
                },
                "interfaceName": {
                    "type": "string"
                },
                "portScheduler": {
                    "$ref": "#/definitions/QueuePortScheduler"
                },
                "portRootScheduler": {
                    "$ref": "#/definitions/QueuePortRootScheduler"
                },
                "queues": {
                    "$ref": "#/definitions/Queues"
                },
                "queueWeights": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/QueueWeights"
                    }
                },
                "queueGroupInstanceEnabled": {
                    "type": "boolean",
                    "default": false
                },
                "schedulerInstanceEnabled": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "QueueProvisionRequest": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "shelf": {
                    "type": "string"
                },
                "group": {
                    "type": "string"
                },
                "portName": {
                    "type": "string"
                },
                "aggName": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/QueueProvisionAttributes"
                }
            }
        },
        "QueueWeights": {
            "type": "object",
            "properties": {
                "tapPoint": {
                    "type": "integer",
                    "format": "int32"
                },
                "weight": {
                    "type": "integer",
                    "format": "int32"
                },
                "priority": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "Queues": {
            "type": "object",
            "properties": {
                "queueGroup": {
                    "type": "string"
                },
                "queueInstanceName": {
                    "type": "string"
                },
                "queueInstanceId": {
                    "type": "integer",
                    "format": "int32"
                },
                "queueStatsCollection": {
                    "type": "string"
                },
                "cbs": {
                    "type": "integer",
                    "format": "int32"
                },
                "ebs": {
                    "type": "integer",
                    "format": "int32"
                },
                "shapeCompensation": {
                    "type": "number",
                    "format": "double"
                },
                "settings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Queuessettings"
                    }
                }
            }
        },
        "Queuessettings": {
            "type": "object",
            "properties": {
                "congestionAvoidanceProfile": {
                    "type": "string"
                },
                "queueNo": {
                    "type": "integer",
                    "format": "int32"
                },
                "cirPercent": {
                    "type": "integer",
                    "format": "int32"
                },
                "eirPercent": {
                    "type": "integer",
                    "format": "int32"
                },
                "schedulerWeight": {
                    "type": "integer",
                    "format": "int32"
                },
                "eirPolicy": {
                    "type": "string"
                }
            }
        },
        "RadiusServer": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "port": {
                    "type": "string"
                },
                "timeout": {
                    "type": "string"
                },
                "autoGenerateSharedSecret": {
                    "type": "string"
                },
                "sharedSecret": {
                    "type": "string"
                }
            }
        },
        "RadiusSettings": {
            "type": "object",
            "properties": {
                "primaryRadius": {
                    "$ref": "#/definitions/RadiusServer"
                },
                "secondaryRadius": {
                    "$ref": "#/definitions/RadiusServer"
                },
                "centralizedRadius": {
                    "$ref": "#/definitions/CentralizedRadiusServer"
                }
            }
        },
        "Relationships": {
            "type": "object",
            "properties": {
                "osData": {
                    "$ref": "#/definitions/OneToManyRelationship"
                },
                "fres": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "RelationshipsBO": {
            "type": "object",
            "properties": {
                "profilesBO": {
                    "$ref": "#/definitions/ProfilesBO"
                },
                "schemasBO": {
                    "$ref": "#/definitions/SchemasBO"
                }
            }
        },
        "ReleaseManagementOperationDetails": {
            "type": "object",
            "properties": {
                "softwareActiveVersion": {
                    "type": "string"
                },
                "softwareAvailableVersions": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "schedules": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "stage": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "Result": {
            "type": "object"
        },
        "SSHSettings": {
            "type": "object",
            "properties": {
                "server": {
                    "type": "string"
                },
                "idleTimeout": {
                    "type": "string"
                },
                "maxSessions": {
                    "type": "string"
                }
            }
        },
        "ScheduleAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "BACKUP",
                        "PRE_UPGRADE",
                        "UPGRADE",
                        "POST_UPGRADE",
                        "SCRIPT",
                        "CUSTOM_SCRIPT"
                    ]
                },
                "configMgmtJobId": {
                    "type": "string"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "IDLE",
                        "INPROGRESS",
                        "SCHEDULED",
                        "ABORTED",
                        "COMPLETED"
                    ]
                },
                "lastExecutionTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "nextExecutionTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "numberOfNEs": {
                    "type": "integer",
                    "format": "int32"
                },
                "scheduleDetails": {
                    "$ref": "#/definitions/ScheduleDetails"
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "ScheduleData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ScheduleAttributes"
                }
            }
        },
        "ScheduleDetails": {
            "type": "object",
            "properties": {
                "scheduleFrequency": {
                    "type": "string",
                    "enum": [
                        "ONCE",
                        "DAILY",
                        "WEEKLY",
                        "MONTHLY"
                    ]
                },
                "scheduleTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "scheduleWeeklyDays": {
                    "$ref": "#/definitions/ScheduleWeeklyDays"
                }
            }
        },
        "ScheduleDetailsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ScheduleData"
                }
            }
        },
        "ScheduleDetailsResponseList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ScheduleData"
                    }
                }
            }
        },
        "ScheduleNesPatch": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ScheduleNesPatchOperation"
                    }
                }
            }
        },
        "ScheduleNesPatchOperation": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "enum": [
                        "ADD",
                        "REMOVE"
                    ]
                },
                "scheduleId": {
                    "type": "string"
                },
                "neDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BatchNeDetails"
                    }
                }
            }
        },
        "ScheduleWeeklyDays": {
            "type": "object",
            "properties": {
                "mon": {
                    "type": "string",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "tue": {
                    "type": "string",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "wed": {
                    "type": "string",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "thu": {
                    "type": "string",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "fri": {
                    "type": "string",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "sat": {
                    "type": "string",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                },
                "sun": {
                    "type": "string",
                    "enum": [
                        "ON",
                        "OFF"
                    ]
                }
            }
        },
        "SchedulesAssignNE": {
            "type": "object",
            "properties": {
                "ipAddress": {
                    "type": "string"
                },
                "additionalIpAddresses": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "backupSchedule": {
                    "type": "string"
                }
            }
        },
        "SchemasBO": {
            "type": "object",
            "properties": {
                "schemasDataBOList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SchemasDataBO"
                    }
                }
            }
        },
        "SchemasDataBO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "Script": {
            "type": "object",
            "properties": {
                "scriptName": {
                    "type": "string"
                },
                "inputs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Input"
                    }
                },
                "relationships": {
                    "$ref": "#/definitions/ScriptRelationships"
                }
            }
        },
        "ScriptBO": {
            "type": "object",
            "properties": {
                "scriptDataBO": {
                    "$ref": "#/definitions/ScriptDataBO"
                },
                "includedBO": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IncludedDataBO"
                    }
                }
            }
        },
        "ScriptDataBO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "attributesBO": {
                    "$ref": "#/definitions/AttributesBO"
                },
                "relationshipsBO": {
                    "$ref": "#/definitions/RelationshipsBO"
                }
            }
        },
        "ScriptDefRequestBO": {
            "type": "object",
            "properties": {
                "scriptBO": {
                    "$ref": "#/definitions/ScriptBO"
                }
            }
        },
        "ScriptDefResponseBO": {
            "type": "object",
            "properties": {
                "request": {
                    "$ref": "#/definitions/ScriptDefRequestBO"
                },
                "creationTime": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "ScriptExecutionDetailAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "jobId": {
                    "type": "string"
                },
                "operationType": {
                    "type": "string"
                },
                "scriptExecutionTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "scriptName": {
                    "type": "string"
                },
                "scriptExecutionStatus": {
                    "type": "string"
                },
                "details": {
                    "type": "string"
                },
                "targetNEs": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "mcpUser": {
                    "type": "string"
                },
                "executionType": {
                    "type": "string",
                    "enum": [
                        "MANUAL",
                        "SCHEDULED",
                        "IDLE"
                    ]
                },
                "scheduleName": {
                    "type": "string"
                }
            }
        },
        "ScriptExecutionDetailsData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ScriptExecutionDetailAttributes"
                }
            }
        },
        "ScriptExecutionDetailsList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ScriptExecutionDetailsData"
                    }
                }
            }
        },
        "ScriptProfile": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ScriptProfileData"
                }
            }
        },
        "ScriptProfileAttributes": {
            "type": "object",
            "properties": {
                "profileName": {
                    "type": "string"
                },
                "profileParams": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/KeyValuePair"
                    }
                }
            }
        },
        "ScriptProfileData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ScriptProfileAttributes"
                }
            }
        },
        "ScriptProfileList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ScriptProfileData"
                    }
                }
            }
        },
        "ScriptRelationship": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ScriptRelationshipData"
                }
            }
        },
        "ScriptRelationshipData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "ScriptRelationships": {
            "type": "object",
            "properties": {
                "profile": {
                    "$ref": "#/definitions/ScriptRelationship"
                },
                "userdata": {
                    "$ref": "#/definitions/ScriptRelationship"
                }
            }
        },
        "ScriptResult": {
            "type": "object",
            "properties": {
                "scriptName": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "commandResults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CommandResult"
                    }
                }
            }
        },
        "ScriptResultAttributes": {
            "type": "object",
            "properties": {
                "scriptResults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ScriptResult"
                    }
                }
            }
        },
        "SegmentRoutingBindings": {
            "type": "object"
        },
        "SrMappingEntry": {
            "type": "object"
        },
        "StopUpgradeAttributes": {
            "type": "object",
            "properties": {
                "networkConstructNames": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "SystemSettings": {
            "type": "object",
            "properties": {
                "alarmCorrelation": {
                    "type": "string"
                },
                "darkFiberLossMeasurement": {
                    "type": "string"
                },
                "autoFacilityProvisioning": {
                    "type": "string"
                },
                "autoRouteProvisioning": {
                    "type": "string"
                },
                "coherentSelectControl": {
                    "type": "string"
                },
                "highFiberLossDetectionAlarm": {
                    "type": "string"
                },
                "autoGCC0Provisioning": {
                    "type": "string"
                },
                "autoGCC1Provisioning": {
                    "type": "string"
                },
                "laserOffFarEndFail": {
                    "type": "string"
                },
                "autoNDPProvisioning": {
                    "type": "string"
                },
                "shelfSynch": {
                    "type": "string"
                }
            }
        },
        "TransportResourceAttributes": {
            "type": "object",
            "properties": {
                "ncId": {
                    "type": "string"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "USED",
                        "RESERVED"
                    ]
                }
            }
        },
        "TransportResourceData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "bindingSid"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/TransportResourceAttributes"
                }
            }
        },
        "TransportResourceList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TransportResourceData"
                    }
                }
            }
        },
        "UpgradeOperationDetails": {
            "type": "object",
            "properties": {
                "manualInvoke": {
                    "type": "boolean",
                    "default": false
                },
                "isWorkFlow": {
                    "type": "boolean",
                    "default": false
                },
                "haltOnUpgradeFailure": {
                    "type": "boolean",
                    "default": false
                },
                "sequenceOrder": {
                    "type": "integer",
                    "format": "int32"
                },
                "mcpManaged": {
                    "type": "boolean",
                    "default": false
                },
                "pendingQueue": {
                    "type": "integer",
                    "format": "int32"
                },
                "stage": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "schedules": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "UpgradeStatus": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/UpgradeStatusAttributes"
                }
            }
        },
        "UpgradeStatusAttributes": {
            "type": "object",
            "properties": {
                "networkConstructName": {
                    "type": "string"
                },
                "isWorkFlow": {
                    "type": "boolean",
                    "default": false
                },
                "shelf": {
                    "type": "string"
                },
                "equipment": {
                    "type": "string"
                },
                "stage": {
                    "type": "string"
                },
                "result": {
                    "type": "string"
                },
                "fpgaApplied": {
                    "type": "boolean",
                    "default": false
                },
                "featureList": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "statusList": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "UpgradeStatusResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/UpgradeStatus"
                    }
                }
            }
        },
        "UserInput": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/UserInputData"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Included"
                    }
                }
            }
        },
        "UserInputData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/Attributes"
                },
                "batchattributes": {
                    "$ref": "#/definitions/BatchAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/Relationships"
                }
            }
        },
        "VpnResource": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/VpnResourceAttributes"
                }
            }
        },
        "VpnResourceAttributes": {
            "type": "object",
            "properties": {
                "networkConstructId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "associatedEntity": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "routeTargets": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "evis": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "bindingSIDs": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "serviceIds": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "VpnResourceCollection": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/VpnResource"
                    }
                }
            }
        },
        "NEConnectionProfileAttributesV3RO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the NE Connection Profile"
                },
                "profileDescription": {
                    "type": "string",
                    "description": "A short description of the NE Connection Profile"
                },
                "typeGroup": {
                    "type": "string",
                    "description": "The NE Type Group which supports this profile"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Indicates if this is a default NE Connection Profile",
                    "default": false
                },
                "isEnabled": {
                    "type": "boolean",
                    "description": "Indicates if this NE Connection Profile is enabled",
                    "default": false
                },
                "protocolEndpoints": {
                    "description": "A two-level Map<String, AdditionalAttribute>",
                    "$ref": "#/definitions/ProtocolEndpointsRO"
                }
            }
        },
        "NEConnectionProfileDataV3RO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the NE Connection Profile resource"
                },
                "type": {
                    "type": "string",
                    "description": "The NE Connection Profile resource type",
                    "enum": [
                        "neConnectionProfile"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/NEConnectionProfileAttributesV3RO"
                }
            }
        },
        "NEConnectionProfileListV3RO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NEConnectionProfileDataV3RO"
                    }
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                }
            }
        },
        "NEConnectionProfileV3RO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/NEConnectionProfileDataV3RO"
                }
            }
        },
        "ProtocolEndpointsRO": {
            "type": "object"
        },
        "ManagementSessionAttributesRO": {
            "type": "object",
            "properties": {
                "displayData": {
                    "$ref": "#/definitions/ManagementSessionDisplayDataRO"
                },
                "ipAddress": {
                    "type": "string",
                    "description": "the manual enrollment address of the management session. An auto enrolled NE (such as RNE) has no enrollment address."
                },
                "typeGroup": {
                    "type": "string",
                    "description": "Resource adapter type group."
                },
                "name": {
                    "type": "string",
                    "description": "Name (e.g. TID) of the Network Construct"
                },
                "longName": {
                    "type": "string",
                    "description": "Extended name of the Network Construct"
                },
                "profile": {
                    "type": "string",
                    "description": "Id of the NE-Security profile."
                },
                "profileName": {
                    "type": "string",
                    "description": "Name of the NE-Security profile"
                },
                "resourceType": {
                    "type": "string",
                    "description": "Resource Type."
                },
                "discoveryState": {
                    "type": "string",
                    "description": "Discovery state of the management session.\n PENDING is the state of staging.\n AUTO_DISCOVERED is the state of being auto discovered but not connected.\n VALIDATING is the state setting up a session;\n VALIDATING_FAILED, failed to setup a session;\n CONNECTING, connecting a session to NE;\n CONNECTED, session connected.\n DISCOVERING, in progress of shallow discovery;\n COMPLETED, shallow discovery completed.\n DISCOVERY_RETRY, shallow discovery failed.\n CHANGE_SESSION, in progress of change active session.\n DERENROLLING, in progress of deenrolling NE.",
                    "enum": [
                        "PENDING",
                        "AUTO_DISCOVERED",
                        "VALIDATING",
                        "VALIDATING_FAILED",
                        "CONNECTING",
                        "CONNECTED",
                        "DISCOVERING",
                        "COMPLETED",
                        "DISCOVERY_RETRY",
                        "CHANGE_SESSION",
                        "RECONNECT",
                        "CONFLICT_NAME",
                        "DEENROLLING",
                        "DISCONNECTED",
                        "FAILED_CONNECT",
                        "FAILED_DISCOVERY",
                        "POKING"
                    ]
                },
                "enrollmentTime": {
                    "type": "string",
                    "description": "Date when the management session is enrolled."
                },
                "created": {
                    "type": "string",
                    "description": "Date when the management session is created."
                },
                "lastResyncTime": {
                    "type": "string",
                    "description": "Date when the management session is resync last time."
                },
                "associationState": {
                    "type": "string",
                    "description": "Association state of the management session.",
                    "enum": [
                        "GOA",
                        "LOA"
                    ]
                },
                "associationStateQualifier": {
                    "type": "string",
                    "description": "How the associationState has been set.",
                    "enum": [
                        "MANUAL",
                        "SYSTEM",
                        "NETWORK"
                    ]
                },
                "associationStateQualifierReason": {
                    "type": "string",
                    "description": "Reason for going into maintenance mode."
                },
                "associationStateLastUpdatedTime": {
                    "type": "string",
                    "description": "Date at which we last changed association state."
                },
                "failReason": {
                    "type": "string",
                    "description": "Failure Reason when processing this network construct."
                },
                "pokeCount": {
                    "type": "integer",
                    "format": "int64",
                    "description": "Number of times this network construct was poked."
                },
                "pokeInterval": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The delay between pokes."
                },
                "lastPokeTime": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The last time this network construct was poked."
                },
                "failureUpdatedTime": {
                    "type": "integer",
                    "format": "int64",
                    "description": "The amount of time it took to fail to update"
                },
                "managementAddresses": {
                    "type": "array",
                    "description": "public IPs addresses of the NE's shelves. The management session connects to the NE at one of the management addresses.",
                    "items": {
                        "type": "string"
                    }
                },
                "sessionType": {
                    "type": "string",
                    "description": "type of management session type",
                    "enum": [
                        "gatewayNE",
                        "remoteNE",
                        "subtendedDevice"
                    ]
                },
                "onPreferredGNE": {
                    "type": "boolean",
                    "description": "indicate that the NE is connected through the preferred connection.",
                    "default": false
                },
                "connectionAddress": {
                    "type": "string",
                    "description": "active connection address to the NE."
                },
                "preferredConnectionAddress": {
                    "description": "The attributes data model of discovery management control access",
                    "$ref": "#/definitions/ManagementSessionConnectionAttributesRO"
                },
                "additionalIpAddresses": {
                    "type": "array",
                    "description": "additional IP addresses to the NE.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "alternateConnectionAddresses": {
                    "type": "array",
                    "description": "alternate access IPs addresses to the NE.",
                    "items": {
                        "$ref": "#/definitions/ManagementSessionConnectionAttributesRO"
                    }
                },
                "connectionStates": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ManagementSessionEndpointStateRO"
                    }
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "Resource partitioning info.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "ManagementSessionConnectionAttributesRO": {
            "type": "object",
            "properties": {
                "address": {
                    "type": "string",
                    "description": "Connection address of the NE"
                },
                "cost": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Connection cost of the address (optional)"
                }
            }
        },
        "ManagementSessionDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the NetworkConstruct resource"
                },
                "type": {
                    "type": "string",
                    "description": "The management session resource type",
                    "enum": [
                        "managementSessions"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ManagementSessionAttributesRO"
                },
                "relationships": {
                    "description": "The relationships of a managmemnt session",
                    "$ref": "#/definitions/ManagementSessionRelationshipsRO"
                }
            }
        },
        "ManagementSessionDisplayDataRO": {
            "type": "object",
            "properties": {
                "displayName": {
                    "type": "string",
                    "description": "Name of the Management Session"
                },
                "displayState": {
                    "type": "string",
                    "description": "Discovery state of the management session",
                    "enum": [
                        "PENDING",
                        "CONNECTING",
                        "CONNECTED",
                        "FAILED",
                        "NOT_CONNECTED"
                    ]
                },
                "displayPreferredConnectionName": {
                    "type": "string",
                    "description": "Preferred connection name of the Management Session"
                },
                "displayPartitions": {
                    "type": "object",
                    "description": "Partition names of the management session"
                },
                "displayAlternativeConnectionIPs": {
                    "type": "object",
                    "description": "Alternative connection IPs of the management session"
                },
                "displayAlternativeConnectionNames": {
                    "type": "object",
                    "description": "Alternative connection names of the management session"
                },
                "profileName": {
                    "type": "string",
                    "description": "Name of the NE profile"
                },
                "shortResourceType": {
                    "type": "string",
                    "description": "Short Resource Type. If resourceType is 'Waveserver' or 'Waveserver Ai', shortResourceType is 'WS'. If resourceType is 'SubCom', shortResourceType is 'TEMS'. Otherwise, the value of resourceType and shortResourceType are the same."
                }
            }
        },
        "ManagementSessionEndpointStateRO": {
            "type": "object",
            "properties": {
                "protocolType": {
                    "type": "string",
                    "description": "The type of protocol used to connect to the network construct (e.g. TL1, SNMP, CLI, etc.)"
                },
                "connectionState": {
                    "type": "string",
                    "description": "Connection state of the endpoint."
                }
            }
        },
        "ManagementSessionListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ManagementSessionDataRO"
                    }
                }
            }
        },
        "ManagementSessionPatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on management session resources",
                    "enum": [
                        "replace",
                        "enroll",
                        "reconnect",
                        "resync",
                        "useNewEnrollmentFlow",
                        "useOldEnrollmentFlow",
                        "changeToPending",
                        "inMaintenance",
                        "outMaintenance"
                    ]
                },
                "reason": {
                    "type": "string",
                    "description": "Reason for putting a Management Session to inMaintenance mode."
                },
                "syncComponent": {
                    "type": "string",
                    "description": "type of component to be synced. Only to be used when op=resync",
                    "enum": [
                        "ALL_COMPONENT",
                        "INVENTORY",
                        "ALARM"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ManagementSessionAttributesRO"
                }
            }
        },
        "ManagementSessionPatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ManagementSessionPatchOperationRO"
                    }
                }
            }
        },
        "ManagementSessionRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ManagementSessionDataRO"
                }
            }
        },
        "ManagementSessionRelationshipsRO": {
            "type": "object",
            "properties": {
                "preferredGateway": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "alternativeGateways": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "extendedSessions": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "NetworkConstructExpectationAttributesRO": {
            "type": "object",
            "properties": {
                "policies": {
                    "type": "array",
                    "description": "Policies to be applied to the entity.",
                    "items": {
                        "type": "object"
                    }
                },
                "startDate": {
                    "type": "string",
                    "description": "The scheduled start date and time of the expectation, with RFC 3339 date-time format"
                },
                "endDate": {
                    "type": "string",
                    "description": "The scheduled end date and time of the expectation, with RFC 3339 date-time format"
                },
                "ipAddress": {
                    "type": "string",
                    "description": "IP address of the network construct."
                },
                "typeGroup": {
                    "type": "string",
                    "description": "Resource adapter type group."
                },
                "resourceType": {
                    "type": "string",
                    "description": "Resource Type."
                },
                "deviceType": {
                    "type": "string",
                    "description": "Device Type."
                },
                "softwareVersion": {
                    "type": "string",
                    "description": "Software version running in the device."
                },
                "nativeSoftwareVersion": {
                    "type": "string",
                    "description": "Native Software version running in the device."
                },
                "accessIdentifier": {
                    "type": "string",
                    "description": "AID of the device, i.e. for 6500 shelf : SHELF-n."
                },
                "macAddress": {
                    "type": "string",
                    "description": "MAC address of the device."
                },
                "name": {
                    "type": "string",
                    "description": "Name (e.g. TID) of the Network Construct"
                },
                "longName": {
                    "type": "string",
                    "description": "Extended name of the Network Construct"
                },
                "geoLocation": {
                    "description": "The geography location of the device",
                    "$ref": "#/definitions/GeoLocationRO"
                },
                "serialNumber": {
                    "type": "string",
                    "description": "Serial number (e.g. NNTMHQDP0001)"
                },
                "deviceVersion": {
                    "type": "string",
                    "description": "Device version (e.g. 6500 32-SLOT OPTICAL)"
                },
                "softwareType": {
                    "type": "string",
                    "description": "Software type (e.g. OCP)"
                },
                "softwareImage": {
                    "type": "string",
                    "description": "Software image"
                },
                "subnetName": {
                    "type": "string",
                    "description": "Subnet name (e.g. ROADM1---ROADM2---SUBNET)"
                },
                "numberOfShelves": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of shelves (primary + member shelves in case of TIDc)"
                },
                "memberShelvesData": {
                    "type": "array",
                    "description": "It represents the shelf data on the NE.",
                    "items": {
                        "$ref": "#/definitions/ShelfDataRO"
                    }
                },
                "memberFunction": {
                    "type": "string",
                    "description": "Member function of the network construct.",
                    "enum": [
                        "ILA",
                        "DGE",
                        "ROADM",
                        "TOADM",
                        "PASSIVE"
                    ]
                },
                "shelfType": {
                    "type": "string",
                    "description": "Shelf type of the network construct.",
                    "enum": [
                        "ILA",
                        "DGE"
                    ]
                },
                "capabilitySpecRef": {
                    "type": "string",
                    "description": "Name of the file which contains the constraint rules of the network device."
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "networkConstructType": {
                    "type": "string",
                    "description": "The type of network construct. It is used to represent the physical hierarchy of a network element.",
                    "enum": [
                        "networkElement",
                        "shelf",
                        "osrpNode",
                        "manual",
                        "branchingUnit",
                        "submarineRepeater",
                        "foreignNode",
                        "unknown"
                    ]
                },
                "l2Data": {
                    "type": "array",
                    "description": "It represents the L2 Configuration Data on the NE.",
                    "items": {
                        "$ref": "#/definitions/L2DataRO"
                    }
                },
                "l0Data": {
                    "description": "Describes a single entry in the L0Data",
                    "$ref": "#/definitions/L0DataRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "associationState": {
                    "type": "string",
                    "description": "Association state of the network construct.",
                    "enum": [
                        "GOA",
                        "LOA"
                    ]
                },
                "associationStateQualifier": {
                    "type": "string",
                    "description": "How the associationState has been set.",
                    "enum": [
                        "MANUAL",
                        "SYSTEM",
                        "NETWORK"
                    ]
                },
                "associationStateQualifierReason": {
                    "type": "string",
                    "description": "Reason for going into maintenance mode."
                },
                "associationStateLastUpdatedTime": {
                    "type": "string",
                    "description": "Date at which we last changed association state."
                },
                "ipCommunicationDetails": {
                    "description": "IP communications data for the network construct",
                    "$ref": "#/definitions/IPCommunicationDetailsRO"
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                },
                "managementAddresses": {
                    "type": "array",
                    "description": "IP address of the shelf(ves). This is a passive attribute that isn't used to create connections to the NE (conn-addrs are).",
                    "items": {
                        "type": "string"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared Srlgs on this NC.",
                    "items": {
                        "type": "string"
                    }
                },
                "siteId": {
                    "type": "string",
                    "description": "Site ID for the networkConstruct"
                },
                "siteName": {
                    "type": "string",
                    "description": "Site name for the networkConstruct"
                },
                "packetData": {
                    "type": "array",
                    "description": "Holds packet infra data.",
                    "items": {
                        "$ref": "#/definitions/PacketDataRO"
                    }
                }
            }
        },
        "NetworkConstructExpectationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the network construct expectation"
                },
                "type": {
                    "type": "string",
                    "description": "The network construct expectation type",
                    "enum": [
                        "networkConstructExpectations"
                    ]
                },
                "attributes": {
                    "description": "Expectation attributes to be kept by NSI.",
                    "$ref": "#/definitions/NetworkConstructExpectationAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/NetworkConstructExpectationRelationshipsRO"
                }
            }
        },
        "NetworkConstructExpectationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/NetworkConstructExpectationDataRO"
                }
            }
        },
        "NetworkConstructExpectationRelationshipsRO": {
            "type": "object",
            "properties": {
                "equipmentIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "serviceIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "intent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "physicalLocation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "parentNetworkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "childrenNetworkConstruct": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concreteAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "groups": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "NetworkConstructPatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "Supported operation on a network construct resource",
                    "enum": [
                        "replace",
                        "update",
                        "delete",
                        "add",
                        "srlgPatch",
                        "externalSrlgRemove"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/NetworkConstructAttributesRO"
                },
                "attribute": {
                    "type": "string",
                    "description": "Name of an attribute to be deleted"
                },
                "keys": {
                    "type": "array",
                    "description": "Used to target specific key(s) of the attribute to be deleted",
                    "items": {
                        "type": "string"
                    }
                },
                "srlgRelationships": {
                    "description": "Srlgs in planned relationships of NC/Equipment/Fres",
                    "$ref": "#/definitions/SrlgPatchDataRO"
                },
                "relationships": {
                    "$ref": "#/definitions/NetworkConstructPlannedRelationshipsRO"
                },
                "path": {
                    "type": "string",
                    "description": "Used to target the specific attribute for deleting"
                },
                "identifier": {
                    "type": "string",
                    "description": "Name of the interface details object"
                }
            }
        },
        "NetworkConstructPatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NetworkConstructPatchOperationRO"
                    }
                }
            }
        },
        "NetworkConstructPlannedAttributesRO": {
            "type": "object",
            "properties": {
                "ipAddress": {
                    "type": "string",
                    "description": "IP address of the network construct."
                },
                "typeGroup": {
                    "type": "string",
                    "description": "Resource adapter type group."
                },
                "resourceType": {
                    "type": "string",
                    "description": "Resource Type."
                },
                "deviceType": {
                    "type": "string",
                    "description": "Device Type."
                },
                "softwareVersion": {
                    "type": "string",
                    "description": "Software version running in the device."
                },
                "nativeSoftwareVersion": {
                    "type": "string",
                    "description": "Native Software version running in the device."
                },
                "accessIdentifier": {
                    "type": "string",
                    "description": "AID of the device, i.e. for 6500 shelf : SHELF-n."
                },
                "macAddress": {
                    "type": "string",
                    "description": "MAC address of the device."
                },
                "name": {
                    "type": "string",
                    "description": "Name (e.g. TID) of the Network Construct"
                },
                "longName": {
                    "type": "string",
                    "description": "Extended name of the Network Construct"
                },
                "geoLocation": {
                    "description": "The geography location of the device",
                    "$ref": "#/definitions/GeoLocationRO"
                },
                "serialNumber": {
                    "type": "string",
                    "description": "Serial number (e.g. NNTMHQDP0001)"
                },
                "deviceVersion": {
                    "type": "string",
                    "description": "Device version (e.g. 6500 32-SLOT OPTICAL)"
                },
                "softwareType": {
                    "type": "string",
                    "description": "Software type (e.g. OCP)"
                },
                "softwareImage": {
                    "type": "string",
                    "description": "Software image"
                },
                "subnetName": {
                    "type": "string",
                    "description": "Subnet name (e.g. ROADM1---ROADM2---SUBNET)"
                },
                "numberOfShelves": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of shelves (primary + member shelves in case of TIDc)"
                },
                "memberShelvesData": {
                    "type": "array",
                    "description": "It represents the shelf data on the NE.",
                    "items": {
                        "$ref": "#/definitions/ShelfDataRO"
                    }
                },
                "memberFunction": {
                    "type": "string",
                    "description": "Member function of the network construct.",
                    "enum": [
                        "ILA",
                        "DGE",
                        "ROADM",
                        "TOADM",
                        "PASSIVE"
                    ]
                },
                "shelfType": {
                    "type": "string",
                    "description": "Shelf type of the network construct.",
                    "enum": [
                        "ILA",
                        "DGE"
                    ]
                },
                "capabilitySpecRef": {
                    "type": "string",
                    "description": "Name of the file which contains the constraint rules of the network device."
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "networkConstructType": {
                    "type": "string",
                    "description": "The type of network construct. It is used to represent the physical hierarchy of a network element.",
                    "enum": [
                        "networkElement",
                        "shelf",
                        "osrpNode",
                        "manual",
                        "branchingUnit",
                        "submarineRepeater",
                        "foreignNode",
                        "unknown"
                    ]
                },
                "l2Data": {
                    "type": "array",
                    "description": "It represents the L2 Configuration Data on the NE.",
                    "items": {
                        "$ref": "#/definitions/L2DataRO"
                    }
                },
                "l0Data": {
                    "description": "Describes a single entry in the L0Data",
                    "$ref": "#/definitions/L0DataRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "associationState": {
                    "type": "string",
                    "description": "Association state of the network construct.",
                    "enum": [
                        "GOA",
                        "LOA"
                    ]
                },
                "associationStateQualifier": {
                    "type": "string",
                    "description": "How the associationState has been set.",
                    "enum": [
                        "MANUAL",
                        "SYSTEM",
                        "NETWORK"
                    ]
                },
                "associationStateQualifierReason": {
                    "type": "string",
                    "description": "Reason for going into maintenance mode."
                },
                "associationStateLastUpdatedTime": {
                    "type": "string",
                    "description": "Date at which we last changed association state."
                },
                "ipCommunicationDetails": {
                    "description": "IP communications data for the network construct",
                    "$ref": "#/definitions/IPCommunicationDetailsRO"
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                },
                "managementAddresses": {
                    "type": "array",
                    "description": "IP address of the shelf(ves). This is a passive attribute that isn't used to create connections to the NE (conn-addrs are).",
                    "items": {
                        "type": "string"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared Srlgs on this NC.",
                    "items": {
                        "type": "string"
                    }
                },
                "siteId": {
                    "type": "string",
                    "description": "Site ID for the networkConstruct"
                },
                "siteName": {
                    "type": "string",
                    "description": "Site name for the networkConstruct"
                },
                "packetData": {
                    "type": "array",
                    "description": "Holds packet infra data.",
                    "items": {
                        "$ref": "#/definitions/PacketDataRO"
                    }
                }
            }
        },
        "NetworkConstructPlannedDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the network construct planned"
                },
                "type": {
                    "type": "string",
                    "description": "The network construct planned type",
                    "enum": [
                        "networkConstructPlanned"
                    ]
                },
                "attributes": {
                    "description": "These attributes are set by REST API to be used to validate the expectation.",
                    "$ref": "#/definitions/NetworkConstructPlannedAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/NetworkConstructPlannedRelationshipsRO"
                }
            }
        },
        "NetworkConstructPlannedRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/NetworkConstructPlannedDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "NetworkConstructPlannedRelationshipsRO": {
            "type": "object",
            "properties": {
                "equipmentIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "serviceIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "manualSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicAutoSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicInheritedSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicPropagatedSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "manualShareSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicPropagatedShareSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "physicalLocation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "parentNetworkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "childrenNetworkConstruct": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concreteAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "groups": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "NetworkConstructRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "data": {
                    "$ref": "#/definitions/NetworkConstructDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Referenced resources (discovered, planned, expectations, physical locations, or parent/child Network Constructs)",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "PhysicalLocationAttributesRO": {
            "type": "object",
            "properties": {
                "userData": {
                    "description": "User data",
                    "$ref": "#/definitions/UserDataRO"
                },
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "policies": {
                    "description": "Policies for attributes.",
                    "$ref": "#/definitions/AttributePoliciesRO"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the physical location."
                },
                "geoLocation": {
                    "description": "The geography location of the device",
                    "$ref": "#/definitions/GeoLocationRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "PhysicalLocationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the physical location"
                },
                "type": {
                    "type": "string",
                    "description": "The physical location type",
                    "enum": [
                        "physicalLocation"
                    ]
                }
            }
        },
        "PhysicalLocationExpectationAttributesRO": {
            "type": "object",
            "properties": {
                "intentId": {
                    "type": "string",
                    "description": "The intent id of the physical expectation location"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the physical location."
                },
                "geoLocation": {
                    "description": "The geography location of the device",
                    "$ref": "#/definitions/GeoLocationRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "PhysicalLocationExpectationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the physical location"
                },
                "type": {
                    "type": "string",
                    "description": "The physical location expectation type",
                    "enum": [
                        "physicalLocationExpectations"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/PhysicalLocationExpectationAttributesRO"
                }
            }
        },
        "PhysicalLocationExpectationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/PhysicalLocationExpectationDataRO"
                }
            }
        },
        "PhysicalLocationListRO": {
            "type": "object",
            "properties": {
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PhysicalLocationDataRO"
                    }
                }
            }
        },
        "PhysicalLocationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/PhysicalLocationDataRO"
                }
            }
        },
        "PhysicalLocationRelationshipsRO": {
            "type": "object",
            "properties": {
                "physicalLocationPlanned": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "physicalLocationExpectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "physicalLocationDiscovered": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "AdditionalAttributesRo": {
            "type": "object"
        },
        "FreqGlobalRo": {
            "type": "object",
            "properties": {
                "eqptId": {
                    "type": "string",
                    "description": "The equipment group ID for timing nodes which may include multiple shelves"
                },
                "clockState": {
                    "type": "string",
                    "description": "The operational state of the currently selected clock source.",
                    "enum": [
                        "FREE_RUN",
                        "ACQUIRING",
                        "LOCKED",
                        "HOLDOVER",
                        "HOLDOVER_EXPIRED",
                        "HOLDOVER_IN_SPEC",
                        "HOLDOVER_OUT_OF_SPEC",
                        "UNKNOWN"
                    ]
                },
                "adminState": {
                    "type": "string",
                    "description": "The global admin state of the frequency timing system.",
                    "enum": [
                        "ENABLED",
                        "DISABLED",
                        "UNKNOWN"
                    ]
                },
                "networkOption": {
                    "type": "string",
                    "description": "The network option configuration."
                },
                "reversionMode": {
                    "type": "string",
                    "description": "The reversion mode",
                    "enum": [
                        "REVERTIVE",
                        "NON_REVERTIVE",
                        "UNKNOWN"
                    ]
                },
                "waitToRestore": {
                    "type": "string"
                },
                "holdoverInterval": {
                    "type": "string",
                    "description": "The holdover interval"
                },
                "internalOcxoQualLevel": {
                    "type": "string",
                    "description": "The internal OCXO quality level"
                },
                "selectedInputRef": {
                    "type": "string",
                    "description": "The currently selected timing reference"
                },
                "durationSeconds": {
                    "type": "string",
                    "description": "The elapsed time since the selected reference was selected"
                }
            }
        },
        "FreqRefAttributesRo": {
            "type": "object",
            "properties": {
                "eqptId": {
                    "type": "string",
                    "description": "The equipment group ID for timing nodes which may include multiple shelves"
                },
                "name": {
                    "type": "string",
                    "description": "The input or output frequency reference name"
                },
                "direction": {
                    "type": "string",
                    "description": "The direction (input or output) of the timing reference with respect to the timing node",
                    "enum": [
                        "INPUT",
                        "OUTPUT"
                    ]
                },
                "shelfNumber": {
                    "type": "string",
                    "description": "The shelf number if applicable "
                },
                "eqptGrpNumber": {
                    "type": "string",
                    "description": "The equipmentGroup number if applicable "
                },
                "interface": {
                    "type": "string",
                    "description": "The timing interface port number"
                },
                "operState": {
                    "type": "string",
                    "description": "The operational state of the timing reference",
                    "enum": [
                        "UP",
                        "QUALITY_LEVEL_BELOW_THRESHOLD",
                        "QUALITY_LEVEL_INVALID",
                        "DOWN",
                        "SIGNAL_FAILURE",
                        "NO_CONNECTION",
                        "ANNOUNCE_RX_TIMEOUT",
                        "ESMC_RX_TIMEOUT",
                        "RX_TIMEOUT",
                        "NOT_READY",
                        "UNKNOWN"
                    ]
                },
                "priority": {
                    "type": "string",
                    "description": "The timing reference priority"
                },
                "operQualLevel": {
                    "type": "string",
                    "description": "Timing reference quality level enumeration",
                    "enum": [
                        "PRC",
                        "SSU_A",
                        "SSU_B",
                        "SEC",
                        "EEC1",
                        "DNU",
                        "PRS",
                        "STU",
                        "ST2",
                        "TNC",
                        "ST3E",
                        "EEC2",
                        "SMC",
                        "PROV",
                        "DUS",
                        "UNKNOWN"
                    ]
                },
                "qualLevel": {
                    "type": "string",
                    "description": "Timing reference quality level enumeration",
                    "enum": [
                        "PRC",
                        "SSU_A",
                        "SSU_B",
                        "SEC",
                        "EEC1",
                        "DNU",
                        "PRS",
                        "STU",
                        "ST2",
                        "TNC",
                        "ST3E",
                        "EEC2",
                        "SMC",
                        "PROV",
                        "DUS",
                        "UNKNOWN"
                    ]
                },
                "ssm": {
                    "type": "string",
                    "description": "The SSM quality level"
                },
                "supportingPtpId": {
                    "type": "string",
                    "description": "The ID of the supporting PTP"
                },
                "timingLinkId": {
                    "type": "string",
                    "description": "The ID of the TimingLink when discovered"
                }
            }
        },
        "FreqRefRo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The ID of the frequency timing reference. Format 'SYNCE_{IN|OUT}_{shelfNumber}_{eqptGrpNumber}_{interface}'"
                },
                "type": {
                    "type": "string",
                    "description": "The type of the frequency timing reference",
                    "enum": [
                        "FREQ_REF"
                    ]
                },
                "attributes": {
                    "description": "Frequency (syncE) input and output timing reference attributes",
                    "$ref": "#/definitions/FreqRefAttributesRo"
                }
            }
        },
        "OneToOneRelationshipRo": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The relationship type and identifier",
                    "$ref": "#/definitions/RelationshipDataRo"
                }
            }
        },
        "PhaseGlobalRo": {
            "type": "object",
            "properties": {
                "eqptId": {
                    "type": "string",
                    "description": "The equipment group ID for timing nodes which may include multiple shelves"
                },
                "clockState": {
                    "type": "string",
                    "description": "The operational state of the currently selected clock source.",
                    "enum": [
                        "FREE_RUN",
                        "ACQUIRING",
                        "LOCKED",
                        "HOLDOVER",
                        "HOLDOVER_EXPIRED",
                        "HOLDOVER_IN_SPEC",
                        "HOLDOVER_OUT_OF_SPEC",
                        "UNKNOWN"
                    ]
                },
                "clockType": {
                    "type": "string",
                    "description": "The definition of all ClockType enumerations",
                    "enum": [
                        "BOUNDARY",
                        "GRANDMASTER",
                        "SLAVE",
                        "TRANSPARENT",
                        "UNKNOWN"
                    ]
                },
                "profile": {
                    "type": "string",
                    "description": "The PTP telecom profile (e.g. G.8275.1)"
                },
                "clockIdent": {
                    "type": "string",
                    "description": "The clock identity"
                },
                "clockClass": {
                    "type": "string",
                    "description": "The clock class"
                },
                "clockAccuracy": {
                    "type": "string",
                    "description": "The clock accuracy"
                },
                "parentPortClockIdent": {
                    "type": "string",
                    "description": "The identity of the parent port clock"
                },
                "parentPortNum": {
                    "type": "string",
                    "description": "The port number of the parent port"
                },
                "gmIdent": {
                    "type": "string",
                    "description": "The identity of the grandmaster clock"
                },
                "gmClockClass": {
                    "type": "string",
                    "description": "The quality class of the grandmaster clock"
                },
                "gmClockAccuracy": {
                    "type": "string",
                    "description": "The accuracy of the grandmaster clock"
                },
                "selectedInputRef": {
                    "type": "string",
                    "description": "The currently selected timing reference"
                },
                "durationSeconds": {
                    "type": "string",
                    "description": "The elapsed time since the selected reference was selected"
                }
            }
        },
        "PhaseRefAttributesRo": {
            "type": "object",
            "properties": {
                "eqptId": {
                    "type": "string",
                    "description": "The equipment group ID for timing nodes which may include multiple shelves"
                },
                "name": {
                    "type": "string",
                    "description": "The input or output phase reference name"
                },
                "direction": {
                    "type": "string",
                    "description": "The direction (input or output) of the timing reference with respect to the timing node",
                    "enum": [
                        "INPUT",
                        "OUTPUT"
                    ]
                },
                "shelfNumber": {
                    "type": "string",
                    "description": "The shelf number if applicable "
                },
                "eqptGrpNumber": {
                    "type": "string",
                    "description": "The equipmentGroup number if applicable "
                },
                "interface": {
                    "type": "string",
                    "description": "The timing interface port number"
                },
                "operState": {
                    "type": "string",
                    "description": "The operational state of the timing reference",
                    "enum": [
                        "UP",
                        "QUALITY_LEVEL_BELOW_THRESHOLD",
                        "QUALITY_LEVEL_INVALID",
                        "DOWN",
                        "SIGNAL_FAILURE",
                        "NO_CONNECTION",
                        "ANNOUNCE_RX_TIMEOUT",
                        "ESMC_RX_TIMEOUT",
                        "RX_TIMEOUT",
                        "NOT_READY",
                        "UNKNOWN"
                    ]
                },
                "stepsRemoved": {
                    "type": "string",
                    "description": "The number of steps removed from the grandmaster clock"
                },
                "portNumber": {
                    "type": "string",
                    "description": "The port number of the timing reference"
                },
                "portState": {
                    "type": "string",
                    "description": "The port state",
                    "enum": [
                        "INITIALIZING",
                        "FAULTY",
                        "DISABLED",
                        "LISTENING",
                        "PRE_MASTER",
                        "MASTER",
                        "PASSIVE",
                        "UNCALIBRATED",
                        "SLAVE",
                        "UNKNOWN"
                    ]
                },
                "parentPortClockIdent": {
                    "type": "string",
                    "description": "The identity of the parent port clock"
                },
                "parentPortNum": {
                    "type": "string",
                    "description": "The port number of the parent port"
                },
                "gmIdent": {
                    "type": "string",
                    "description": "The identity of the grandmaster clock"
                },
                "supportingPtpId": {
                    "type": "string",
                    "description": "The ID of the supporting PTP"
                },
                "timingLinkId": {
                    "type": "string",
                    "description": "The ID of the TimingLink when discovered"
                }
            }
        },
        "PhaseRefRo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The ID of the phase timing reference. Format 'PTP_{IN|OUT}_{shelfNumber}_{eqptGrpNumber}_{interface}'"
                },
                "type": {
                    "type": "string",
                    "description": "The type of the phase timing reference",
                    "enum": [
                        "PHASE_REF"
                    ]
                },
                "attributes": {
                    "description": "Phase input and output timing reference attributes",
                    "$ref": "#/definitions/PhaseRefAttributesRo"
                }
            }
        },
        "RelationshipDataRo": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "The relationship resource type"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the referenced resource."
                }
            }
        },
        "TimingLinkAttributesRo": {
            "type": "object",
            "properties": {
                "layer": {
                    "type": "string",
                    "description": "The definition of all TimingLayer enumerations",
                    "enum": [
                        "PHASE",
                        "FREQUENCY"
                    ]
                },
                "fromRef": {
                    "type": "string",
                    "description": "The internal TimingNode layer ref ID - the source endpoint"
                },
                "toRef": {
                    "type": "string",
                    "description": "The internal TimingNode layer ref ID - the destination/target endpoint"
                },
                "lagFreId": {
                    "type": "string",
                    "description": "The LAG FRE ID if this link supporting LLDP FRE supports a LAG"
                }
            }
        },
        "TimingLinkRelationshipsRo": {
            "type": "object",
            "properties": {
                "supportingFre": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRo"
                },
                "fromNetworkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRo"
                },
                "fromTimingNode": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRo"
                },
                "toNetworkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRo"
                },
                "toTimingNode": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRo"
                }
            }
        },
        "TimingLinkResourceRo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The TimingLink resource identifier."
                },
                "type": {
                    "type": "string",
                    "description": "Defines the TimingLink resource type.",
                    "enum": [
                        "timingLink"
                    ]
                },
                "relationships": {
                    "description": "The TimingLink relationships data",
                    "$ref": "#/definitions/TimingLinkRelationshipsRo"
                },
                "attributes": {
                    "description": "The Timing Link resource attributes",
                    "$ref": "#/definitions/TimingLinkAttributesRo"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRo"
                }
            }
        },
        "TimingNodeAttributesRo": {
            "type": "object",
            "properties": {
                "phaseGlobal": {
                    "type": "array",
                    "description": "The list of TimingNode Phase attributes by equipmentGroups",
                    "items": {
                        "$ref": "#/definitions/PhaseGlobalRo"
                    }
                },
                "freqGlobal": {
                    "type": "array",
                    "description": "The list of TimingNode Frequency attributes by equipmentGroups",
                    "items": {
                        "$ref": "#/definitions/FreqGlobalRo"
                    }
                },
                "phaseRefs": {
                    "type": "array",
                    "description": "The list of TimingNode phase endpoints",
                    "items": {
                        "$ref": "#/definitions/PhaseRefRo"
                    }
                },
                "freqRefs": {
                    "type": "array",
                    "description": "The list of TimingNode Frequency endpoints",
                    "items": {
                        "$ref": "#/definitions/FreqRefRo"
                    }
                },
                "geohash": {
                    "type": "string",
                    "description": "The GEO HASH as assigned to the NC for this node"
                },
                "neName": {
                    "type": "string",
                    "description": "The name of the NC for this node"
                },
                "synchronizedTimestamp": {
                    "type": "string",
                    "description": "The date and time when this TimingNode data was synchronized from the NE"
                }
            }
        },
        "TimingNodeDataRo": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The TimingNode identifier. Format: '{ncId}::TIMING'"
                },
                "type": {
                    "type": "string",
                    "description": "Defines the TimingNode resource type.",
                    "enum": [
                        "TIMING_NODE"
                    ]
                },
                "attributes": {
                    "description": "The Timing Node Attributes schema definition",
                    "$ref": "#/definitions/TimingNodeAttributesRo"
                },
                "relationships": {
                    "description": "The TimingNode relationships data",
                    "$ref": "#/definitions/TimingNodeRelationshipsRo"
                }
            }
        },
        "TimingNodeRelationshipsRo": {
            "type": "object",
            "properties": {
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRo"
                }
            }
        },
        "TimingNodeRo": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The Timing Node schema definition",
                    "$ref": "#/definitions/TimingNodeDataRo"
                },
                "included": {
                    "type": "array",
                    "description": "The Timing Node included resources",
                    "items": {
                        "$ref": "#/definitions/TimingLinkResourceRo"
                    }
                }
            }
        },
        "CaptureAvailabilityRO": {
            "type": "object",
            "properties": {
                "originalFilename": {
                    "type": "string",
                    "readOnly": true
                },
                "internalFilename": {
                    "type": "string",
                    "readOnly": true
                },
                "locationOnSFTP": {
                    "type": "string",
                    "readOnly": true
                },
                "availableLocally": {
                    "type": "boolean",
                    "readOnly": true,
                    "default": false
                },
                "availableOnSFTP": {
                    "type": "boolean",
                    "readOnly": true,
                    "default": false
                },
                "captureAvailabilityState": {
                    "type": "string",
                    "enum": [
                        "NOT_AVAILABLE",
                        "LOCAL_ONLY",
                        "REMOTE_ONLY",
                        "LOCAL_REMOTE"
                    ]
                }
            }
        },
        "CaptureSummaryRO": {
            "type": "object",
            "properties": {
                "source": {
                    "type": "string",
                    "readOnly": true
                },
                "fileName": {
                    "type": "string",
                    "readOnly": true
                },
                "remoteFileLocation": {
                    "type": "string",
                    "readOnly": true
                },
                "snapshotTimestamp": {
                    "type": "string",
                    "readOnly": true
                },
                "availableExternally": {
                    "type": "boolean",
                    "default": false
                },
                "captureAvailability": {
                    "$ref": "#/definitions/CaptureAvailabilityRO"
                }
            }
        },
        "CardsRO": {
            "type": "object",
            "properties": {
                "reportType": {
                    "type": "string",
                    "readOnly": true
                },
                "schema": {
                    "readOnly": true,
                    "$ref": "#/definitions/ReportSchema"
                }
            }
        },
        "ColumnDescription": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "readOnly": true
                },
                "field": {
                    "type": "string",
                    "readOnly": true
                },
                "label": {
                    "type": "string",
                    "readOnly": true
                },
                "description": {
                    "type": "string",
                    "readOnly": true
                },
                "type": {
                    "type": "string",
                    "readOnly": true
                },
                "subtype": {
                    "type": "string",
                    "readOnly": true
                }
            }
        },
        "DeleteCaptureRO": {
            "type": "object",
            "properties": {
                "local": {
                    "type": "boolean",
                    "default": false
                },
                "remote": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "OMSReportRow": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "gridType": {
                    "type": "string"
                },
                "growthTrend": {
                    "$ref": "#/definitions/ReportLink"
                },
                "domain": {
                    "type": "string"
                },
                "spectrumGrowthTrend": {
                    "$ref": "#/definitions/ReportLink"
                },
                "minSnr": {
                    "type": "number",
                    "format": "double"
                },
                "deltaSnrPlanned": {
                    "type": "number",
                    "format": "double"
                },
                "deltaSnrReference": {
                    "type": "number",
                    "format": "double"
                },
                "equivRefSpans": {
                    "type": "number",
                    "format": "double"
                },
                "minSnrTrend": {
                    "$ref": "#/definitions/ReportLink"
                },
                "omsname": {
                    "type": "string"
                },
                "section": {
                    "type": "string"
                },
                "fibers": {
                    "$ref": "#/definitions/ReportLink"
                },
                "clientServices": {
                    "$ref": "#/definitions/ReportLink"
                },
                "photonicServices": {
                    "$ref": "#/definitions/ReportLink"
                },
                "wavelengths": {
                    "$ref": "#/definitions/ReportLink"
                },
                "provisionedBw": {
                    "type": "number",
                    "format": "double"
                },
                "usedBw": {
                    "type": "number",
                    "format": "double"
                },
                "predictedFiberExhaustDate": {
                    "type": "string"
                },
                "predictedSpectrumFiberExhaustDate": {
                    "type": "string"
                },
                "totalCapacity": {
                    "type": "number",
                    "format": "double"
                },
                "provisionedCapacity": {
                    "type": "number",
                    "format": "double"
                },
                "provisionedCapacityPercentage": {
                    "type": "number",
                    "format": "double"
                },
                "serviceUtilization": {
                    "type": "number",
                    "format": "double"
                },
                "remainingBw": {
                    "type": "number",
                    "format": "double"
                }
            }
        },
        "ReportFilter": {
            "type": "object",
            "properties": {
                "attribute": {
                    "type": "string"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ReportLink": {
            "type": "object",
            "properties": {
                "title": {
                    "type": "string"
                },
                "filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ReportFilter"
                    }
                }
            }
        },
        "ReportRO": {
            "type": "object",
            "properties": {
                "snapshotTimestamp": {
                    "type": "string"
                },
                "reportName": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                },
                "isDelta": {
                    "type": "boolean",
                    "default": false
                },
                "version": {
                    "type": "string"
                },
                "rows": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ReportRow"
                    }
                },
                "schema": {
                    "$ref": "#/definitions/ReportSchema"
                }
            }
        },
        "ReportRow": {
            "type": "object"
        },
        "ReportSchema": {
            "type": "object",
            "properties": {
                "columns": {
                    "type": "object",
                    "readOnly": true,
                    "additionalProperties": {
                        "$ref": "#/definitions/ColumnDescription"
                    }
                }
            }
        },
        "ReportSummaryRO": {
            "type": "object",
            "properties": {
                "reportsAvailable": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "type": "string",
                        "format": "uuid"
                    }
                },
                "reportGenerationTimestamp": {
                    "type": "string",
                    "readOnly": true
                },
                "statistics": {
                    "type": "object",
                    "readOnly": true,
                    "additionalProperties": {
                        "type": "integer",
                        "format": "int32"
                    }
                }
            }
        },
        "ResourceEnvelopeSFTPConfigurationRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ResourceObjectSFTPConfigurationRequest"
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "included": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "$ref": "#/definitions/ResourceObjectObject"
                    }
                }
            }
        },
        "ResourceEnvelopeScheduleRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ResourceObjectScheduleRO"
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "included": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "$ref": "#/definitions/ResourceObjectObject"
                    }
                }
            }
        },
        "ResourceEnvelopeSnapshotRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ResourceObjectSnapshotRO"
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "included": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "$ref": "#/definitions/ResourceObjectObject"
                    }
                }
            }
        },
        "ResourceObjectSFTPConfigurationRequest": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "relationships": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/RelationshipsObjectObject"
                    }
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "attributes": {
                    "$ref": "#/definitions/SFTPConfigurationRequest"
                }
            }
        },
        "ResourceObjectScheduleRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "relationships": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/RelationshipsObjectObject"
                    }
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "attributes": {
                    "$ref": "#/definitions/ScheduleRO"
                }
            }
        },
        "ResourceObjectSnapshotRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "relationships": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/RelationshipsObjectObject"
                    }
                },
                "links": {
                    "type": "object",
                    "additionalProperties": {
                        "$ref": "#/definitions/LinksObject"
                    }
                },
                "meta": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                },
                "attributes": {
                    "$ref": "#/definitions/SnapshotRO"
                }
            }
        },
        "SFTPConfigurationRequest": {
            "type": "object",
            "properties": {
                "host": {
                    "type": "string"
                },
                "port": {
                    "type": "integer",
                    "format": "int32"
                },
                "username": {
                    "type": "string"
                },
                "password": {
                    "type": "string"
                },
                "rootDir": {
                    "type": "string"
                }
            }
        },
        "ScheduleRO": {
            "type": "object",
            "properties": {
                "schedule": {
                    "readOnly": true,
                    "$ref": "#/definitions/Schedule"
                },
                "enabled": {
                    "type": "boolean",
                    "readOnly": true,
                    "default": false
                },
                "creationTimestamp": {
                    "type": "string"
                }
            }
        },
        "SectionReportResponseRO": {
            "type": "object",
            "properties": {
                "rows": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/OMSReportRow"
                    }
                },
                "snapshotId": {
                    "type": "string",
                    "format": "uuid"
                }
            }
        },
        "SnapshotRO": {
            "type": "object",
            "properties": {
                "state": {
                    "type": "string",
                    "enum": [
                        "uploadPending",
                        "uploading",
                        "queued",
                        "collecting",
                        "generating",
                        "completed",
                        "deleting",
                        "failed"
                    ]
                },
                "status": {
                    "type": "string"
                },
                "metadata": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "reportSummary": {
                    "$ref": "#/definitions/ReportSummaryRO"
                },
                "captureSummary": {
                    "$ref": "#/definitions/CaptureSummaryRO"
                },
                "mode": {
                    "type": "string",
                    "enum": [
                        "Collect",
                        "Upload",
                        "Schedule"
                    ]
                }
            }
        },
        "TrendGroup": {
            "type": "object",
            "properties": {
                "trendPoints": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TrendPoint"
                    }
                }
            }
        },
        "TrendGroupRO": {
            "type": "object",
            "properties": {
                "data": {
                    "readOnly": true,
                    "$ref": "#/definitions/TrendGroup"
                }
            }
        },
        "TrendPoint": {
            "type": "object",
            "properties": {
                "trendName": {
                    "type": "string"
                },
                "entityName": {
                    "type": "string"
                },
                "captureDate": {
                    "type": "string",
                    "format": "date-time"
                },
                "snapshotID": {
                    "type": "string",
                    "format": "uuid"
                },
                "valueName": {
                    "type": "string"
                },
                "stringValue": {
                    "type": "string"
                },
                "doubleValue": {
                    "type": "number",
                    "format": "double"
                }
            }
        },
        "startstoptrace": {
            "type": "object",
            "description": "Parameters for start/stop  trace.",
            "properties": {
                "parameters": {
                    "type": "object",
                    "properties": {
                        "trace_entities": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "entityid": {
                                        "type": "string",
                                        "default": "OTDRCFG-1-5-8"
                                    },
                                    "trace_type": {
                                        "type": "string",
                                        "default": "short"
                                    },
                                    "operation": {
                                        "type": "string",
                                        "default": "start"
                                    },
                                    "direction": {
                                        "type": "string",
                                        "default": "tx"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "sordownloadv1": {
            "type": "object",
            "description": "Parameters for SOR download.",
            "properties": {
                "trace_id": {
                    "type": "string",
                    "default": "OTDRCFG-1-1-8"
                },
                "trace_tag": {
                    "type": "string",
                    "default": "current"
                },
                "trace_type": {
                    "type": "string",
                    "default": "long"
                }
            }
        },
        "sordownloadv2": {
            "type": "object",
            "description": "Parameters for SOR download.",
            "properties": {
                "parameters": {
                    "type": "object",
                    "properties": {
                        "trace_id": {
                            "type": "string",
                            "default": "OTDRCFG-1-1-8"
                        },
                        "trace_tag": {
                            "type": "string",
                            "default": "current"
                        },
                        "trace_type": {
                            "type": "string",
                            "default": "long"
                        },
                        "direction": {
                            "type": "string",
                            "default": "tx"
                        }
                    }
                }
            }
        },
        "otdrprofile": {
            "type": "object",
            "description": "SOR download profile parameters.",
            "properties": {
                "description": {
                    "type": "string",
                    "default": "2000",
                    "description": "Supports alphanumeric characters, space, hyphen and underscore only."
                },
                "passwd": {
                    "type": "string",
                    "default": "password",
                    "description": "Supports any character except single/double quotes and @ symbol."
                },
                "user_name": {
                    "type": "string",
                    "default": "admin",
                    "description": "Supports any character except single/double quotes and @ symbol."
                },
                "port": {
                    "type": "string",
                    "default": "22"
                },
                "profile_name": {
                    "type": "string",
                    "default": "test",
                    "description": "Supports alphanumeric characters and underscore only."
                },
                "location": {
                    "type": "string",
                    "default": "/temp"
                },
                "ip_address": {
                    "type": "string",
                    "default": "1.1.1.1"
                },
                "protocol_type": {
                    "type": "string",
                    "default": "sftp"
                }
            }
        },
        "otdrentity": {
            "type": "object",
            "description": "OTDR entity edit parameters.",
            "properties": {
                "parameters": {
                    "type": "object",
                    "properties": {
                        "pulse_short": {
                            "type": "string",
                            "default": "1000"
                        },
                        "distance_short": {
                            "type": "string",
                            "default": "20000"
                        },
                        "pulse_long": {
                            "type": "string",
                            "default": "40000"
                        },
                        "distance_long": {
                            "type": "string",
                            "default": "128000"
                        },
                        "pulse_office": {
                            "type": "string",
                            "default": "100"
                        },
                        "distance_office": {
                            "type": "string",
                            "default": "8000"
                        },
                        "event_range": {
                            "type": "string",
                            "default": "N/A"
                        },
                        "max_aquisition_time": {
                            "type": "string",
                            "default": "60"
                        }
                    }
                }
            }
        },
        "otdrtraceprofiles": {
            "type": "object",
            "description": "Parameters for OTDR trace profile.",
            "properties": {
                "parameters": {
                    "type": "object",
                    "properties": {
                        "description": {
                            "type": "string",
                            "default": "profile description"
                        },
                        "max_aquisition_time": {
                            "type": "integer",
                            "default": "max aquisition time"
                        },
                        "pulse_width": {
                            "type": "integer",
                            "default": "pulse width"
                        },
                        "distance": {
                            "type": "integer",
                            "default": "distance"
                        }
                    }
                }
            }
        },
        "editsortrace": {
            "type": "object",
            "description": "Parameters for Edit SOR trace record label.",
            "required": [
                "network_construct_id",
                "trace_id",
                "file_name",
                "label"
            ],
            "properties": {
                "network_construct_id": {
                    "type": "string",
                    "description": "Identifier of the Network Construct"
                },
                "trace_id": {
                    "type": "string",
                    "description": "OTDR entity id"
                },
                "file_name": {
                    "type": "string",
                    "description": "SOR Trace file name"
                },
                "label": {
                    "type": "string",
                    "description": "Label for SOR Trace file"
                }
            }
        },
        "deletesortrace": {
            "type": "array",
            "description": "Parameters for Delete a Saved SOR trace file.",
            "items": {
                "type": "object",
                "properties": {
                    "network_construct_id": {
                        "type": "string",
                        "description": "Identifier of the Network Construct"
                    },
                    "trace_id": {
                        "type": "string",
                        "description": "OTDR entity id"
                    },
                    "file_name": {
                        "type": "string",
                        "description": "SOR Trace file name"
                    }
                },
                "required": [
                    "network_construct_id",
                    "trace_id",
                    "file_name"
                ]
            }
        },
        "parsesortrace": {
            "type": "object",
            "description": "Parameters for retrieving parsed SOR trace file.",
            "required": [
                "file_names"
            ],
            "properties": {
                "file_names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ChanList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ChanMargin"
                    }
                },
                "links": {
                    "$ref": "#/definitions/LinksRO"
                },
                "meta": {
                    "$ref": "#/definitions/MetaDataRO"
                }
            }
        },
        "ChanListV1": {
            "type": "object",
            "properties": {
                "services": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ChanMarginV1"
                    }
                }
            }
        },
        "ChanMargin": {
            "type": "object",
            "required": [
                "valid"
            ],
            "properties": {
                "direction": {
                    "type": "string"
                },
                "freId": {
                    "type": "string"
                },
                "layerRate": {
                    "type": "string"
                },
                "maxMargin": {
                    "type": "number",
                    "format": "float"
                },
                "meanMargin": {
                    "type": "number",
                    "format": "float"
                },
                "minMargin": {
                    "type": "number",
                    "format": "float"
                },
                "oduFreId": {
                    "type": "string"
                },
                "otsiFreId": {
                    "type": "string"
                },
                "sdMargin": {
                    "type": "number",
                    "format": "float"
                },
                "status": {
                    "type": "string"
                },
                "tpeId": {
                    "type": "string"
                },
                "upgrMargin": {
                    "type": "number",
                    "format": "float"
                },
                "valid": {
                    "type": "boolean"
                },
                "viable": {
                    "type": "string"
                }
            }
        },
        "ChanMarginV1": {
            "type": "object",
            "required": [
                "valid"
            ],
            "properties": {
                "circuitId": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                },
                "freId": {
                    "type": "string"
                },
                "layerRate": {
                    "type": "string"
                },
                "maxMargin": {
                    "type": "number",
                    "format": "float"
                },
                "meanMargin": {
                    "type": "number",
                    "format": "float"
                },
                "minMargin": {
                    "type": "number",
                    "format": "float"
                },
                "sdMargin": {
                    "type": "number",
                    "format": "float"
                },
                "status": {
                    "type": "string"
                },
                "upgrMargin": {
                    "type": "number",
                    "format": "float"
                },
                "valid": {
                    "type": "boolean"
                },
                "viable": {
                    "type": "string"
                }
            }
        },
        "ConfigurationAttributesRO": {
            "type": "object",
            "properties": {
                "safety": {
                    "type": "number",
                    "format": "float",
                    "maximum": 10
                },
                "validity": {
                    "type": "integer",
                    "format": "int32",
                    "maximum": 35040,
                    "minimum": 1
                }
            }
        },
        "FiberData": {
            "type": "object",
            "properties": {
                "loss": {
                    "type": "string"
                }
            }
        },
        "FiberList": {
            "type": "object",
            "properties": {
                "links": {
                    "$ref": "#/definitions/LinksRO"
                },
                "meta": {
                    "$ref": "#/definitions/MetaDataRO"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberLoss"
                    }
                }
            }
        },
        "FiberListv1": {
            "type": "object",
            "properties": {
                "links": {
                    "$ref": "#/definitions/LinksRO"
                },
                "meta": {
                    "$ref": "#/definitions/MetaDataRO"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberLossv1"
                    }
                }
            }
        },
        "FiberLoss": {
            "type": "object",
            "properties": {
                "avgFiberSpanLoss": {
                    "type": "number",
                    "format": "float"
                },
                "avgFiberSpanLossSource": {
                    "type": "string"
                },
                "avgFiberSpanLossTime": {
                    "type": "string"
                },
                "avgOscLoss": {
                    "type": "number",
                    "format": "float"
                },
                "avgOscLossSource": {
                    "type": "string"
                },
                "avgOscLossTime": {
                    "type": "string"
                },
                "avgTotalPowerLoss": {
                    "type": "number",
                    "format": "float"
                },
                "avgTotalPowerLossTime": {
                    "type": "string"
                },
                "currentLoss": {
                    "type": "number",
                    "format": "float"
                },
                "currentLossSource": {
                    "type": "string"
                },
                "currentLossTime": {
                    "type": "string"
                },
                "deltaPlannedToAvgFiberSpanLoss": {
                    "type": "number",
                    "format": "float"
                },
                "deltaPlannedToAvgOscLoss": {
                    "type": "number",
                    "format": "float"
                },
                "deltaPlannedToAvgTotalPowerLoss": {
                    "type": "number",
                    "format": "float"
                },
                "freId": {
                    "type": "string"
                },
                "method": {
                    "type": "string"
                },
                "plannedLoss": {
                    "type": "number",
                    "format": "float"
                },
                "plannedMargin": {
                    "type": "number",
                    "format": "float"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "FiberLossv1": {
            "type": "object",
            "properties": {
                "deltaLoss": {
                    "type": "string"
                },
                "freId": {
                    "type": "string"
                },
                "measuredLoss": {
                    "type": "string"
                },
                "measuredTime": {
                    "type": "string"
                },
                "method": {
                    "type": "string"
                },
                "plannedLoss": {
                    "type": "string"
                },
                "plannedMargin": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "MarginDetails": {
            "type": "object",
            "required": [
                "valid",
                "minMargin"
            ],
            "properties": {
                "direction": {
                    "type": "string"
                },
                "endNcId": {
                    "type": "string"
                },
                "endTpeId": {
                    "type": "string"
                },
                "freId": {
                    "type": "string"
                },
                "histogram": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "intervals": {
                    "type": "integer",
                    "format": "int32"
                },
                "maxMargin": {
                    "type": "number",
                    "format": "float"
                },
                "meanMargin": {
                    "type": "number",
                    "format": "float"
                },
                "minMargin": {
                    "type": "number",
                    "format": "float"
                },
                "oduFreId": {
                    "type": "string"
                },
                "otsiFreId": {
                    "type": "string"
                },
                "sdMargin": {
                    "type": "number",
                    "format": "float"
                },
                "startNcId": {
                    "type": "string"
                },
                "startTpeId": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "timeEnd": {
                    "type": "string",
                    "format": "time-date"
                },
                "timeStart": {
                    "type": "string",
                    "format": "time-date"
                },
                "tpeId": {
                    "type": "string"
                },
                "upgrMargin": {
                    "type": "number",
                    "format": "float"
                },
                "upgrRate": {
                    "type": "string"
                },
                "valid": {
                    "type": "boolean"
                },
                "viable": {
                    "type": "string"
                }
            }
        },
        "MarginDetailsRO": {
            "type": "array",
            "items": {
                "$ref": "#/definitions/MarginDetails"
            }
        },
        "MarginDetailsV1": {
            "type": "object",
            "required": [
                "valid",
                "minMargin"
            ],
            "properties": {
                "circuitId": {
                    "type": "string"
                },
                "histogram": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "intervals": {
                    "type": "integer",
                    "format": "int32"
                },
                "maxMargin": {
                    "type": "number",
                    "format": "float"
                },
                "meanMargin": {
                    "type": "number",
                    "format": "float"
                },
                "minMargin": {
                    "type": "number",
                    "format": "float"
                },
                "sdMargin": {
                    "type": "number",
                    "format": "float"
                },
                "status": {
                    "type": "string"
                },
                "timeEnd": {
                    "type": "string",
                    "format": "time-date"
                },
                "timeStart": {
                    "type": "string",
                    "format": "time-date"
                },
                "upgrMargin": {
                    "type": "number",
                    "format": "float"
                },
                "upgrRate": {
                    "type": "string"
                },
                "valid": {
                    "type": "boolean"
                },
                "viable": {
                    "type": "string"
                }
            }
        },
        "MarginSummary": {
            "type": "object",
            "required": [
                "totalCount",
                "goodCount",
                "counts"
            ],
            "properties": {
                "counts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RateCount"
                    }
                },
                "goodCount": {
                    "type": "integer",
                    "format": "int32"
                },
                "totalCount": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "PpgMarginSummary": {
            "type": "object",
            "required": [
                "roadmLine"
            ],
            "properties": {
                "fiber": {
                    "$ref": "#/definitions/PpgSummary"
                },
                "roadmLine": {
                    "$ref": "#/definitions/PpgSummary"
                }
            }
        },
        "PpgMediaParams": {
            "type": "object",
            "properties": {
                "chromatic dispersion (ps/nm)": {
                    "type": "number",
                    "format": "float"
                },
                "distance (km)": {
                    "type": "number",
                    "format": "float"
                },
                "freId": {
                    "type": "string"
                },
                "latency (ms)": {
                    "type": "number",
                    "format": "float"
                }
            }
        },
        "PpgPlannedSummary": {
            "type": "object",
            "properties": {
                "above": {
                    "type": "integer"
                },
                "below": {
                    "type": "integer"
                },
                "normal": {
                    "type": "integer"
                }
            }
        },
        "PpgSnrDetails": {
            "type": "object",
            "properties": {
                "expsmooth": {
                    "type": "number",
                    "format": "float"
                },
                "frequency_GHz": {
                    "type": "number",
                    "format": "float"
                },
                "max": {
                    "type": "number",
                    "format": "float"
                },
                "maxTime": {
                    "type": "string",
                    "format": "time-date"
                },
                "min": {
                    "type": "number",
                    "format": "float"
                },
                "minTime": {
                    "type": "string",
                    "format": "time-date"
                },
                "mostRecent": {
                    "type": "number",
                    "format": "float"
                }
            }
        },
        "PpgSummary": {
            "type": "object",
            "properties": {
                "deltaReference": {
                    "type": "array",
                    "items": {
                        "type": "number",
                        "format": "float32"
                    }
                },
                "planned": {
                    "$ref": "#/definitions/PpgPlannedSummary"
                }
            }
        },
        "RateCount": {
            "type": "object",
            "properties": {
                "degradeCount": {
                    "type": "integer",
                    "format": "int32"
                },
                "rate": {
                    "type": "string"
                },
                "upgradeCount": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "Safety": {
            "type": "object",
            "required": [
                "factor"
            ],
            "properties": {
                "factor": {
                    "type": "number",
                    "format": "float"
                }
            }
        },
        "Validity": {
            "type": "object",
            "required": [
                "factor"
            ],
            "properties": {
                "factor": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "ppgMediaParamsList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PpgMediaParams"
                    }
                },
                "links": {
                    "$ref": "#/definitions/LinksRO"
                },
                "meta": {
                    "$ref": "#/definitions/MetaDataRO"
                }
            }
        },
        "ppgSnrDetailsList": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PpgSnrDetails"
                    }
                },
                "fillRatio": {
                    "type": "string"
                },
                "filter": {
                    "type": "string"
                },
                "freId": {
                    "type": "string"
                },
                "mostRecentTime": {
                    "type": "string",
                    "format": "time-date"
                },
                "units": {
                    "type": "string"
                }
            }
        },
        "autoCompleteResponse": {
            "type": "object",
            "properties": {
                "results": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "cardType": {
            "description": "The card type information",
            "required": [
                "shortName"
            ],
            "properties": {
                "longName": {
                    "description": "CTYPE of card such as the full name of card reported by NE",
                    "type": "string"
                },
                "partNumber": {
                    "description": "PEC code of the card. Ex: NTK553MA",
                    "type": "string"
                },
                "shortName": {
                    "description": "Card name such as 100g MUX, OTR, OTNFLEX",
                    "type": "string"
                }
            }
        },
        "collectionCountGetData": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "properties": {
                                "LOACount": {
                                    "type": "integer"
                                },
                                "failureOrDelayedCollectionCount": {
                                    "type": "integer"
                                },
                                "id": {
                                    "type": "string"
                                },
                                "networkElementNames": {
                                    "type": "object",
                                    "properties": {
                                        "LOA_NEs": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        },
                                        "failureOrDelayed": {
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "lastCollection": {
                                                        "type": "string"
                                                    },
                                                    "previousCollection": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        },
                                        "success": {
                                            "additionalProperties": {
                                                "type": "object",
                                                "properties": {
                                                    "lastCollection": {
                                                        "type": "string"
                                                    },
                                                    "previousCollection": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "successCount": {
                                    "type": "integer"
                                },
                                "totalNetworkElementCount": {
                                    "type": "integer"
                                },
                                "type": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "LOACount": 2,
                        "failureOrDelayedCollectionCount": 3,
                        "networkElementNames": {
                            "LOA_NEs": [
                                "NE_5",
                                "NE_6"
                            ],
                            "failureOrDelayed": {
                                "NE_4": {
                                    "lastCollection": "2021-02-17 08:17:12.723 +0000 UTC",
                                    "previousCollection": "2021-01-29 07:59:20.135 +0000 UTC"
                                },
                                "NE_5": {
                                    "lastCollection": "2021-02-08 11:03:13.899 +0000 UTC",
                                    "previousCollection": "2021-01-29 07:57:02.014 +0000 UTC"
                                },
                                "NE_6": {
                                    "lastCollection": "2021-02-17 04:47:59.295 +0000 UTC",
                                    "previousCollection": "2021-01-29 07:57:02.031 +0000 UTC"
                                }
                            },
                            "success": {
                                "NE_1": {
                                    "lastCollection": "2021-02-18 08:47:21.061 +0000 UTC",
                                    "previousCollection": "2021-01-05 06:48:16.019 +0000 UTC"
                                },
                                "NE_2": {
                                    "lastCollection": "2021-02-18 08:46:55.895 +0000 UTC",
                                    "previousCollection": "2021-01-29 07:57:02.182 +0000 UTC"
                                },
                                "NE_3": {
                                    "lastCollection": "2021-02-18 08:46:46.503 +0000 UTC",
                                    "previousCollection": "2021-01-29 07:57:02.162 +0000 UTC"
                                }
                            }
                        },
                        "successCount": 3,
                        "totalNetworkElementCount": 6
                    }
                }
            }
        },
        "collectionsBulkRequest": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/collectionsBulkRequestData"
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "applyForNeNames": [
                                "PV0045",
                                "PV0046"
                            ],
                            "configName": "15_MINUTES",
                            "enabled": true,
                            "pollingInterval": {
                                "unit": "HOURS",
                                "value": 3
                            },
                            "resolution": {
                                "unit": "MINUTES",
                                "value": 15
                            }
                        },
                        "type": "config"
                    }
                ]
            }
        },
        "collectionsBulkRequestData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "type": "object",
                    "required": [
                        "configName"
                    ],
                    "properties": {
                        "applyForNeNames": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "applyForNeTypes": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        },
                        "configName": {
                            "type": "string"
                        },
                        "enabled": {
                            "type": "boolean",
                            "x-nullable": true
                        },
                        "pollingInterval": {
                            "$ref": "#/definitions/timeUnit"
                        },
                        "resolution": {
                            "$ref": "#/definitions/timeUnit"
                        }
                    }
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "config"
                    ]
                }
            }
        },
        "collectionsGet": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/collectionsGetData"
                    }
                }
            }
        },
        "collectionsGetData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "type": "object",
                    "properties": {
                        "configName": {
                            "type": "string"
                        },
                        "enabled": {
                            "type": "boolean",
                            "x-nullable": true
                        },
                        "pollingInterval": {
                            "$ref": "#/definitions/timeUnit"
                        },
                        "resolution": {
                            "$ref": "#/definitions/timeUnit"
                        }
                    }
                },
                "id": {
                    "description": "Network Element Name",
                    "type": "string"
                },
                "raType": {
                    "description": "Network Element Type Group",
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "config"
                    ]
                }
            }
        },
        "collectionsPatch": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/collectionsPatchData"
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "configName": "15_MINUTES",
                            "enabled": true,
                            "pollingInterval": {
                                "unit": "HOURS",
                                "value": 3
                            },
                            "resolution": {
                                "unit": "MINUTES",
                                "value": 15
                            }
                        },
                        "id": "PV0445A",
                        "type": "config"
                    }
                ]
            }
        },
        "collectionsPatchData": {
            "type": "object",
            "required": [
                "id",
                "type",
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "type": "object",
                    "required": [
                        "configName"
                    ],
                    "properties": {
                        "configName": {
                            "type": "string"
                        },
                        "enabled": {
                            "type": "boolean",
                            "x-nullable": true
                        },
                        "pollingInterval": {
                            "$ref": "#/definitions/timeUnit"
                        },
                        "resolution": {
                            "$ref": "#/definitions/timeUnit"
                        }
                    }
                },
                "id": {
                    "description": "Network Element Name (PV0445A) or Type (6500)",
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "config"
                    ]
                }
            }
        },
        "correlatedRequestV1": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "required": [
                        "attributes"
                    ],
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "required": [
                                "filter",
                                "range"
                            ],
                            "properties": {
                                "filter": {
                                    "description": "Define a filter for your query. Specify only ONE of networkElementsAndFacilities or networkElements.",
                                    "type": "object",
                                    "properties": {
                                        "networkElements": {
                                            "description": "A list of network element names from which to query correlated metrics from ALL SDMON or CHMON or OPM facilities.",
                                            "type": "object",
                                            "required": [
                                                "networkElementList",
                                                "facilityType"
                                            ],
                                            "properties": {
                                                "facilityType": {
                                                    "description": "The facility type to query; must be either SDMON or CHMON or OPM.",
                                                    "type": "string",
                                                    "enum": [
                                                        "SDMON",
                                                        "CHMON",
                                                        "OPM"
                                                    ]
                                                },
                                                "networkElementList": {
                                                    "description": "The list of network elements from which to query all SDMON or CHMON or OPM facilities.",
                                                    "type": "array",
                                                    "items": {
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        },
                                        "networkElementsAndFacilities": {
                                            "description": "A map of network element names to lists of facilities from which to query correlated metrics. In order for paging to behave correctly, only include one facility type in your query, either SDMON or CHMON or OPM. Ensure that the facility name does NOT include the subport value, only use the shelf-slot-port.",
                                            "type": "object",
                                            "additionalProperties": {
                                                "description": "The list of facilities on this network element to query.",
                                                "type": "array",
                                                "items": {
                                                    "type": "string"
                                                }
                                            }
                                        }
                                    }
                                },
                                "range": {
                                    "description": "Defines the time range to be queried. Supports 'absolute' with RFC3339 compatible start and end date or 'relative' with a 'unit' (SECONDS, MINUTES, etc) and 'value'.",
                                    "type": "object",
                                    "required": [
                                        "type"
                                    ],
                                    "properties": {
                                        "endTime": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "startTime": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "type": {
                                            "$ref": "#/definitions/requestTypeEnum"
                                        },
                                        "unit": {
                                            "$ref": "#/definitions/timeUnitEnum"
                                        },
                                        "value": {
                                            "type": "integer",
                                            "maximum": 2147483646,
                                            "minimum": 1
                                        }
                                    }
                                },
                                "tags": {
                                    "description": "Define the list of tags to be returned. If no tags are set the query will return all tags. All queries will return networkElementName, facilityNameNative, and parameterNative by default.",
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "filter": {
                            "networkElementsAndFacilities": {
                                "P8250A": [
                                    "SDMON-1-6-5",
                                    "SDMON-1-6-7"
                                ],
                                "P8250B": [
                                    "SDMON-1-6-5",
                                    "SDMON-1-6-7"
                                ]
                            }
                        },
                        "range": {
                            "endTime": "2020-07-01T18:00:00.000Z",
                            "startTime": "2020-07-01T12:00:00.000Z",
                            "type": "absolute"
                        },
                        "tags": [
                            "networkElementName",
                            "parameterNative",
                            "facilityNameNative"
                        ]
                    }
                }
            }
        },
        "correlatedResponseV1": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "attributes": {
                                "type": "object",
                                "properties": {
                                    "tags": {
                                        "description": "A tag",
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    },
                                    "values": {
                                        "description": "A map, representing the time series. timestamp:<correlated-datapoint-object>. Timestamp can be milliseconds or RFC3339 formatted.",
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "object",
                                            "additionalProperties": {
                                                "type": "number"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "nextPage": {
                            "description": "A relative URL pointing to the next page of results.",
                            "type": "string"
                        },
                        "self": {
                            "description": "A relative URL pointing to the current page.",
                            "type": "string"
                        }
                    }
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "tags": {
                            "facilityNameNative": "SDMON-1-6-5",
                            "networkElementName": "P8250A",
                            "parameterNative": "OPT-OTS"
                        },
                        "values": {
                            "1593604800000": {
                                "191325000": -27.6,
                                "191331250": -29.1,
                                "191337500": -29,
                                "191343750": -32.2,
                                "191350000": -32.2
                            }
                        }
                    }
                },
                "links": {
                    "nextPage": "/pm/api/v1/query/metrics/correlated?start=1556783931000&end=1556913531000&cursor=9997",
                    "self": "/pm/api/v1/query/metrics/correlated?start=1556783931000&end=1556913531000&cursor=0"
                }
            }
        },
        "hpmRequest": {
            "description": "The Historical metrics query",
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/hpmRequestData"
                }
            }
        },
        "hpmRequestAttributes": {
            "type": "object",
            "required": [
                "range",
                "filter"
            ],
            "properties": {
                "filter": {
                    "description": "Define a filter for your query. The filter syntax matches heroics filter syntax",
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                },
                "range": {
                    "$ref": "#/definitions/hpmRequestRange"
                }
            },
            "example": {
                "filter": [
                    "and",
                    [
                        "=",
                        "facilityNameNative",
                        "OMS-4-2-1"
                    ]
                ],
                "range": {
                    "endTime": "2016-10-26T15:50:11.152-04:00",
                    "startTime": "2016-10-26T15:50:11.152-04:00",
                    "type": "absolute"
                }
            }
        },
        "hpmRequestData": {
            "type": "object",
            "required": [
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/hpmRequestAttributes"
                }
            }
        },
        "hpmRequestRange": {
            "type": "object",
            "properties": {
                "endTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "startTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "type": {
                    "$ref": "#/definitions/requestTypeEnum"
                },
                "unit": {
                    "$ref": "#/definitions/timeUnitEnum"
                },
                "value": {
                    "type": "integer",
                    "maximum": 2147483646,
                    "minimum": 1
                }
            }
        },
        "hpmRequestV2": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "required": [
                        "attributes"
                    ],
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "required": [
                                "filter",
                                "range"
                            ],
                            "properties": {
                                "filter": {
                                    "description": "Define a filter for your query",
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                },
                                "interval": {
                                    "description": "The time interval returned in the response. This can be used to page through the specified time range. If not specified, all data for the queried time period is returned. To facilitate access to the next interval, a link is present in meta>nextInterval. Use a value with a time suffix (m - minutes, h - hours, d - days)",
                                    "type": "string"
                                },
                                "pageSize": {
                                    "description": "The maximum amount of unique time series returned in the response. If more time series are in the result set, a link to the next page is created in meta>nextPage",
                                    "type": "integer"
                                },
                                "range": {
                                    "description": "Defines the time range to be queried. Supports 'absolute' with RFC3339 compatible start and end date or 'relative' with a 'unit' (SECONDS, MINUTES, etc) and 'value'",
                                    "type": "object",
                                    "required": [
                                        "type"
                                    ],
                                    "properties": {
                                        "endTime": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "startTime": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "type": {
                                            "$ref": "#/definitions/requestTypeEnum"
                                        },
                                        "unit": {
                                            "$ref": "#/definitions/timeUnitEnum"
                                        },
                                        "value": {
                                            "type": "integer",
                                            "maximum": 2147483646,
                                            "minimum": 1
                                        }
                                    }
                                },
                                "sort": {
                                    "description": "Define a sort order for the result. Prefix with '-' for DESC",
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "tags": {
                                    "description": "Define the list of tags the user wants to select in their query. If no tags are set the query will select all tags",
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "filter": [
                            "and",
                            [
                                "=",
                                "networkElementName",
                                "PV00445"
                            ],
                            [
                                "or",
                                [
                                    "=",
                                    "facilityNameNative",
                                    "OMS-4-2-1"
                                ],
                                [
                                    "endsWith",
                                    "facilityNameNative",
                                    "-10"
                                ],
                                [
                                    "startsWith",
                                    "facilityNameNative",
                                    "ODU"
                                ]
                            ]
                        ],
                        "interval": "12h",
                        "pageSize": 100,
                        "range": {
                            "endTime": "2019-05-03T12:00:00.000-04:00",
                            "startTime": "2019-05-02T12:00:00.000-04:00",
                            "type": "absolute"
                        },
                        "sort": [
                            "-facilityNameNative",
                            "parameter"
                        ],
                        "tags": [
                            "networkElementName",
                            "parameter",
                            "facilityNameNative"
                        ]
                    }
                }
            }
        },
        "hpmResponseV2": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "attributes": {
                                "type": "object",
                                "properties": {
                                    "tags": {
                                        "description": "A tag",
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    },
                                    "values": {
                                        "description": "A map, representing the time series. timestamp:value. Timestamp can be milliseconds or RFC3339 formatted.",
                                        "additionalProperties": {
                                            "type": "number"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "nextInterval": {
                            "description": "A relative URL pointing to the next interval of datapoints for the time series in the current response. The interval returned for a single page can be specified as 'interval' in the request.",
                            "type": "string"
                        },
                        "nextPage": {
                            "description": "A relative URL pointing to the next page of time series matching the request filter. The maximum amount of time series on a single page can be specified as 'pageSize' in the request.",
                            "type": "string"
                        },
                        "previousInterval": {
                            "description": "A relative URL pointing to the previous interval of datapoints for the time series in the current response. The interval returned for a single page can be specified as 'interval' in the request.",
                            "type": "string"
                        },
                        "previousPage": {
                            "description": "A relative URL pointing to the previous page of time series matching the request filter. The maximum amount of time series on a single page can be specified as 'pageSize' in the request.",
                            "type": "string"
                        },
                        "self": {
                            "description": "A relative URL pointing to the current page",
                            "type": "string"
                        }
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "tags": {
                                "direction": "NEND",
                                "facilityNameNative": "OTM4-3-4-2",
                                "networkElementName": "Ottawa_011",
                                "parameter": "Fiberloss"
                            },
                            "values": {
                                "2019-02-04T15:15:00Z": 4.556,
                                "2019-02-04T15:30:00Z": 5.56
                            }
                        }
                    },
                    {
                        "attributes": {
                            "tags": {
                                "direction": "FEND",
                                "facilityNameNative": "OTM4-3-4-2",
                                "networkElementName": "Ottawa_011",
                                "parameter": "Fiberloss"
                            },
                            "values": {
                                "2019-02-04T15:15:00Z": 2.556
                            }
                        }
                    }
                ],
                "links": {
                    "nextInterval": "/pm/api/v2/query/metrics?start=1556783931000&end=1556913531000&page=1",
                    "nextPage": "/pm/api/v2/query/metrics?start=1556783931000&end=1556827131000&page=2",
                    "previousInterval": "/pm/api/v2/query/metrics?start=1556740714000&end=1556783931000&page=1",
                    "previousPage": "/pm/api/v2/query/metrics?start=1556783931000&end=1556827131000&page=0",
                    "self": "/pm/api/v2/query/metrics?start=1556783931000&end=1556913531000&page=1"
                }
            }
        },
        "hpmResponseV3": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "attributes": {
                                "type": "object",
                                "properties": {
                                    "metaTags": {
                                        "description": "Additional generic tags",
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    },
                                    "tags": {
                                        "description": "A tag",
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    },
                                    "values": {
                                        "description": "A map, representing the time series. timestamp:<context-datapoint-object>. Timestamp can be milliseconds or RFC3339 formatted.",
                                        "additionalProperties": {
                                            "type": "object",
                                            "required": [
                                                "value"
                                            ],
                                            "properties": {
                                                "value": {
                                                    "type": "number"
                                                }
                                            },
                                            "additionalProperties": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "nextInterval": {
                            "description": "A relative URL pointing to the next interval of datapoints for the time series in the current response. The interval returned for a single page can be specified as 'interval' in the request.",
                            "type": "string"
                        },
                        "nextPage": {
                            "description": "A relative URL pointing to the next page of time series matching the request filter. The maximum amount of time series on a single page can be specified as 'pageSize' in the request.",
                            "type": "string"
                        },
                        "previousInterval": {
                            "description": "A relative URL pointing to the previous interval of datapoints for the time series in the current response. The interval returned for a single page can be specified as 'interval' in the request.",
                            "type": "string"
                        },
                        "previousPage": {
                            "description": "A relative URL pointing to the previous page of time series matching the request filter. The maximum amount of time series on a single page can be specified as 'pageSize' in the request.",
                            "type": "string"
                        },
                        "self": {
                            "description": "A relative URL pointing to the current page",
                            "type": "string"
                        }
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "tags": {
                                "direction": "NEND",
                                "facilityNameNative": "OTM4-3-4-2",
                                "networkElementName": "Ottawa_011",
                                "parameter": "Fiberloss"
                            },
                            "values": {
                                "2019-02-04T15:15:00Z": {
                                    "binState": "PTRL",
                                    "condition": "OOR",
                                    "value": 4.556
                                },
                                "2019-02-04T15:30:00Z": {
                                    "condition": "OOR",
                                    "value": 5.56
                                }
                            }
                        }
                    },
                    {
                        "attributes": {
                            "tags": {
                                "direction": "FEND",
                                "facilityNameNative": "OTM4-3-4-2",
                                "networkElementName": "Ottawa_011",
                                "parameter": "Fiberloss"
                            },
                            "values": {
                                "2019-02-04T15:15:00Z": {
                                    "condition": "OOR",
                                    "value": 2.556
                                }
                            }
                        }
                    }
                ],
                "links": {
                    "nextInterval": "/pm/api/v3/query/metrics?start=1556783931000&end=1556913531000&cursor=0",
                    "nextPage": "/pm/api/v3/query/metrics?start=1556783931000&end=1556827131000&cursor=40",
                    "previousInterval": "/pm/api/v3/query/metrics?start=1556740714000&end=1556783931000&cursor=0",
                    "previousPage": "/pm/api/v3/query/metrics?start=1556783931000&end=1556827131000&cursor=19&backwards=true",
                    "self": "/pm/api/v3/query/metrics?start=1556783931000&end=1556913531000&cursor=20"
                }
            }
        },
        "initRegCriteria": {
            "description": "Criteria allow qualification of the result set",
            "type": "object",
            "properties": {
                "granularity": {
                    "description": "[6500 only] The granularity of the desired binTypes",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "UNTIMED",
                            "15_MINUTE",
                            "24_HOUR",
                            "BASELINE",
                            "ALL"
                        ]
                    }
                },
                "monVal": {
                    "description": "Value of the monitored PM parameter",
                    "type": "integer",
                    "default": 0,
                    "maximum": 2147483646,
                    "minimum": -2147483646
                },
                "powerType": {
                    "description": "Power Type",
                    "type": "string",
                    "enum": [
                        "TOTAL",
                        "CHANNEL",
                        "OSC",
                        "FIBERLOSS"
                    ]
                }
            }
        },
        "initRegRequestAttr": {
            "description": "INIT-REG request attributes",
            "type": "object",
            "required": [
                "measurementPoints"
            ],
            "properties": {
                "criteria": {
                    "$ref": "#/definitions/initRegCriteria"
                },
                "measurementPoints": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/measurementPoint"
                    }
                }
            },
            "example": {
                "criteria": {
                    "granularity": [
                        "15_MINUTE",
                        "UNTIMED"
                    ]
                },
                "measurementPoints": [
                    {
                        "nodeId": "36b4c0eb-4a24-3339-96d9-cfa3912df58a",
                        "resourceId": "36b4c0eb-4a24-3339-96d9-cfa3912df58a::TPE_36b4c0eb-4a24-3339-96d9-cfa3912df58a::EQPT_0_1-6-CTPServerToClient-1",
                        "resourceObject": {
                            "nativeFacilityName": "OPTMON-0-1-6",
                            "type": "initRegister"
                        },
                        "resurceType": "TPE"
                    }
                ]
            }
        },
        "initRegStatus": {
            "type": "object",
            "required": [
                "aid",
                "success"
            ],
            "properties": {
                "aid": {
                    "description": "AID for the corresponding measurement point for the request",
                    "type": "string"
                },
                "error": {
                    "description": "Error response object",
                    "type": "object",
                    "required": [
                        "code",
                        "detail",
                        "title"
                    ],
                    "properties": {
                        "code": {
                            "description": "Error code",
                            "type": "string"
                        },
                        "detail": {
                            "description": "Error description",
                            "type": "string"
                        },
                        "title": {
                            "description": "Error Title",
                            "type": "string"
                        }
                    },
                    "additionalProperties": false
                },
                "success": {
                    "description": "Tells the Init Register response for the specific MeasurementPoint is success or not",
                    "type": "boolean"
                }
            },
            "additionalProperties": false
        },
        "initRegisterRequest": {
            "description": "The Real-Time metrics query",
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "attributes": {
                            "$ref": "#/definitions/initRegRequestAttr"
                        },
                        "type": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "initRegisterResponse": {
            "description": "INIT-REG response",
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/initRegisterResponseItem"
                    }
                }
            }
        },
        "initRegisterResponseItem": {
            "description": "Response of a INIT-REG measurement point",
            "type": "object",
            "properties": {
                "attributes": {
                    "type": "object",
                    "required": [
                        "resourceId",
                        "status"
                    ],
                    "properties": {
                        "resourceId": {
                            "description": "The resourceId for which response is returned",
                            "type": "string"
                        },
                        "status": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/initRegStatus"
                            }
                        }
                    }
                }
            }
        },
        "intervalsGetData": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "attributes": {
                                "type": "object",
                                "properties": {
                                    "collectionIntervals": {
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "array",
                                            "items": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "collectionIntervals": {
                            "1_HOURS": [
                                "NE_1",
                                "NE_2",
                                "NE_3"
                            ],
                            "3_HOURS": [
                                "NE_4",
                                "NE_5",
                                "NE_6"
                            ]
                        }
                    }
                }
            }
        },
        "locationsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "attributes": {
                                "type": "object",
                                "properties": {
                                    "label": {
                                        "type": "string"
                                    },
                                    "operators": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                }
                            },
                            "id": {
                                "type": "string"
                            },
                            "type": {
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "measurementPoint": {
            "type": "object",
            "properties": {
                "facilityNameNative": {
                    "type": "string"
                },
                "parameterNameNative": {
                    "type": "string"
                },
                "variableName": {
                    "type": "string"
                }
            }
        },
        "metaRequest": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "required": [
                        "attributes"
                    ],
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "required": [
                                "filter",
                                "range"
                            ],
                            "properties": {
                                "filter": {
                                    "description": "Define a filter for your query",
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                },
                                "range": {
                                    "description": "Defines the time range to be queried. Supports 'absolute' with RFC3339 compatible start and end date or 'relative' with a 'unit' (SECONDS, MINUTES, etc) and 'value'",
                                    "type": "object",
                                    "required": [
                                        "type"
                                    ],
                                    "properties": {
                                        "endTime": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "startTime": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "type": {
                                            "$ref": "#/definitions/requestTypeEnum"
                                        },
                                        "unit": {
                                            "$ref": "#/definitions/timeUnitEnum"
                                        },
                                        "value": {
                                            "type": "integer",
                                            "maximum": 2147483646,
                                            "minimum": 1
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "filter": [
                            "and",
                            [
                                "=",
                                "networkElementName",
                                "PV00445"
                            ],
                            [
                                "or",
                                [
                                    "=",
                                    "facilityNameNative",
                                    "OMS-4-2-1"
                                ],
                                [
                                    "endsWith",
                                    "facilityNameNative",
                                    "-10"
                                ]
                            ]
                        ],
                        "range": {
                            "endTime": "2019-05-03T12:00:00.000-04:00",
                            "startTime": "2019-05-02T12:00:00.000-04:00",
                            "type": "absolute"
                        }
                    }
                }
            }
        },
        "metaResponse": {
            "type": "object",
            "properties": {
                "meta": {
                    "type": "object",
                    "required": [
                        "context-total",
                        "total-series"
                    ],
                    "properties": {
                        "context-total": {
                            "type": "number"
                        },
                        "total-series": {
                            "type": "number"
                        }
                    }
                }
            }
        },
        "metricAttributes": {
            "type": "object",
            "required": [
                "resourceId"
            ],
            "properties": {
                "location": {
                    "description": "Location of entity queried for pm data",
                    "type": "object",
                    "$ref": "#/definitions/location"
                },
                "meta_tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "nativePmFacilityName": {
                    "description": "The name of the PM facility being requested",
                    "type": "string"
                },
                "resourceId": {
                    "type": "string"
                },
                "tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/sample"
                    }
                },
                "version": {
                    "type": "string",
                    "default": "1.0"
                }
            }
        },
        "metricData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/metricAttributes"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "metrics"
                    ]
                }
            }
        },
        "pmError": {
            "description": "An error that occurred during PM collection",
            "type": "object",
            "properties": {
                "code": {
                    "description": "The error code",
                    "type": "string"
                },
                "detail": {
                    "description": "The detailed description of the error",
                    "type": "string"
                },
                "source": {
                    "description": "The source of the error",
                    "type": "string"
                },
                "title": {
                    "description": "The error title",
                    "type": "string"
                }
            }
        },
        "pmErrorV2": {
            "description": "Errors that occurred",
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "code": {
                                "description": "Application error code",
                                "type": "string"
                            },
                            "status": {
                                "description": "HTTP status code",
                                "type": "string"
                            },
                            "title": {
                                "description": "The error title",
                                "type": "string"
                            }
                        }
                    }
                }
            }
        },
        "queryResponse": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/queryResponseData"
                    }
                },
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/pmError"
                    }
                }
            }
        },
        "queryResponseAttributes": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/pmError"
                    }
                },
                "lastBatch": {
                    "type": "boolean"
                },
                "metrics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/metricData"
                    }
                },
                "nodeId": {
                    "type": "string"
                },
                "requestId": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "inProgress",
                        "completed",
                        "error"
                    ]
                }
            }
        },
        "queryResponseData": {
            "type": "object",
            "required": [
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/queryResponseAttributes"
                },
                "id": {
                    "description": "The UUIDv4 identifying the PM query request",
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "default": "results",
                    "enum": [
                        "results"
                    ]
                }
            }
        },
        "requestTypeEnum": {
            "type": "string",
            "enum": [
                "absolute",
                "relative"
            ]
        },
        "resourceObject": {
            "description": "Inventory resource object",
            "properties": {
                "cardType": {
                    "$ref": "#/definitions/cardType"
                },
                "location": {
                    "$ref": "#/definitions/location"
                },
                "nativePmFacilityName": {
                    "description": "The native name of the facility of the network element that is subject to this query",
                    "type": "string"
                },
                "signalIndex": {
                    "$ref": "#/definitions/signalIndex"
                },
                "tpe": {
                    "description": "A JSON-formatted TPE object",
                    "type": "object"
                },
                "type": {
                    "type": "string"
                }
            }
        },
        "rollupCalcRequestV1": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "object",
                    "required": [
                        "attributes"
                    ],
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "required": [
                                "filter",
                                "range"
                            ],
                            "properties": {
                                "filter": {
                                    "description": "Define a filter for your query. Specify networkElementName, facilityNameNative, and facilityName.",
                                    "type": "array",
                                    "items": {
                                        "type": "object"
                                    }
                                },
                                "range": {
                                    "description": "Defines the time range to be queried. Supports 'absolute' with RFC3339 compatible start and end date or 'relative' with a 'unit' (SECONDS, MINUTES, etc) and 'value'",
                                    "type": "object",
                                    "required": [
                                        "type"
                                    ],
                                    "properties": {
                                        "endTime": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "startTime": {
                                            "type": "string",
                                            "format": "date-time"
                                        },
                                        "type": {
                                            "$ref": "#/definitions/requestTypeEnum"
                                        },
                                        "unit": {
                                            "$ref": "#/definitions/timeUnitEnum"
                                        },
                                        "value": {
                                            "type": "integer",
                                            "maximum": 2147483646,
                                            "minimum": 1
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "filter": [
                            "and",
                            [
                                "=",
                                "networkElementName",
                                "PV00445"
                            ],
                            [
                                "=",
                                "facilityNameNative",
                                "23"
                            ],
                            [
                                "=",
                                "facilityName",
                                "1_1_23"
                            ]
                        ],
                        "range": {
                            "endTime": "2019-05-03T12:00:00.000-00:00",
                            "startTime": "2019-05-02T12:00:00.000-00:00",
                            "type": "absolute"
                        }
                    }
                }
            }
        },
        "rollupCalcResponseV1": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "attributes": {
                                "type": "object",
                                "properties": {
                                    "tags": {
                                        "description": "A tag",
                                        "type": "object",
                                        "additionalProperties": {
                                            "type": "string"
                                        }
                                    },
                                    "values": {
                                        "description": "A map, representing the time series. Timestamp can be milliseconds or RFC3339 formatted.",
                                        "additionalProperties": {
                                            "type": "object",
                                            "required": [
                                                "value",
                                                "binState"
                                            ],
                                            "properties": {
                                                "binState": {
                                                    "type": "string"
                                                },
                                                "value": {
                                                    "type": "number"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "tags": {
                                "direction": "RECEIVE",
                                "facilityNameNative": "port1",
                                "granularity": "1_Day",
                                "networkElementName": "NE1",
                                "parameter": "Average Throughput"
                            },
                            "values": {
                                "2019-02-04T00:00:00Z": {
                                    "binState": "COMPL",
                                    "value": 2.556
                                }
                            }
                        }
                    },
                    {
                        "attributes": {
                            "tags": {
                                "direction": "RECEIVE",
                                "facilityNameNative": "port1",
                                "granularity": "1_Day",
                                "networkElementName": "NE1",
                                "parameter": "Max Throughput"
                            },
                            "values": {
                                "2019-02-04T00:00:00Z": {
                                    "binState": "COMPL",
                                    "value": 3.5
                                }
                            }
                        }
                    },
                    {
                        "attributes": {
                            "tags": {
                                "direction": "RECEIVE",
                                "facilityNameNative": "port1",
                                "granularity": "1_Day",
                                "networkElementName": "NE1",
                                "parameter": "NinetyFifth Throughput"
                            },
                            "values": {
                                "2019-02-04T00:00:00Z": {
                                    "binState": "COMPL",
                                    "value": 3.23
                                }
                            }
                        }
                    }
                ]
            }
        },
        "rpmCriteria": {
            "type": "object",
            "properties": {
                "binIndex": {
                    "description": "bin index. User can input data in any of the following format 0 | 0,1-3,5-7,21 | 0-32 | 1,3,5,7,9",
                    "type": "string",
                    "pattern": "(\\d{1,2}(-\\d{1,2})?,?){1,}"
                },
                "granularity": {
                    "description": "[6500 only] The granularity of the desired binTypes",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "enum": [
                            "UNTIMED",
                            "15_MINUTE",
                            "24_HOUR",
                            "BASELINE",
                            "ALL"
                        ]
                    }
                },
                "includeThreshold": {
                    "description": "Include Threshold flag indicates whether response to include Threshold Level or not",
                    "type": "boolean",
                    "default": false
                },
                "parameters": {
                    "description": "PM parameters. For MCP 16.12 drop 1 and drop 2 it will native name instead of normalized names",
                    "type": "array",
                    "items": {
                        "type": "string",
                        "uniqueItems": true
                    }
                },
                "powerType": {
                    "description": "Power Type",
                    "type": "string",
                    "enum": [
                        "TOTAL",
                        "CHANNEL",
                        "OSC",
                        "FIBERLOSS",
                        "SPECTRUM"
                    ]
                },
                "suppress": {
                    "description": "Monitoring Level",
                    "type": "string",
                    "default": "ZERO",
                    "enum": [
                        "ZERO",
                        "NONE",
                        "ZERO_VALID"
                    ]
                }
            }
        },
        "rpmRequest": {
            "description": "The Real-Time metrics query",
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/rpmRequestData"
                }
            }
        },
        "rpmRequestAttributes": {
            "type": "object",
            "required": [
                "measurementPoints"
            ],
            "properties": {
                "criteria": {
                    "$ref": "#/definitions/rpmCriteria"
                },
                "measurementPoints": {
                    "description": "The measurement point defines the specific resource the retrieve metrics from. Multiple measurement points on the same or different network elements may be specified",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/measurementPoint"
                    }
                }
            },
            "example": {
                "criteria": {
                    "binIndex": "0-12",
                    "granularity": [
                        "15_MINUTE",
                        "24_HOUR"
                    ],
                    "includeThreshold": false,
                    "parameters": [
                        "OPR-OTS",
                        "CV-ODU"
                    ],
                    "suppress": "NONE"
                },
                "measurementPoints": [
                    {
                        "nodeId": "6bc1c116-bba6-3c25-bbe2-21423cd8dacd",
                        "resourceId": "6bc1c116-bba6-3c25-bbe2-21423cd8dacd::TPE_6bc1c116-bba6-3c25-bbe2-21423cd8dacd::EQPT_0_1-5-PTP",
                        "resourceObject": {
                            "tpe": {
                                "data": {
                                    "attributes": {
                                        "locations": [
                                            {
                                                "port": "6",
                                                "shelf": "0",
                                                "slot": "1"
                                            }
                                        ]
                                    }
                                }
                            },
                            "type": "pmData"
                        },
                        "resourceType": "TPE"
                    }
                ]
            }
        },
        "rpmRequestData": {
            "type": "object",
            "required": [
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/rpmRequestAttributes"
                }
            }
        },
        "sample": {
            "type": "object",
            "required": [
                "time",
                "value"
            ],
            "properties": {
                "condition": {
                    "type": "string"
                },
                "time": {
                    "type": "string"
                },
                "value": {
                    "type": "number"
                }
            }
        },
        "signalIndex": {
            "description": "Signal index of entity queried for metrics if applicable",
            "required": [
                "index_name",
                "index_value"
            ],
            "properties": {
                "index_name": {
                    "description": "Named attribute of the signal index",
                    "type": "string",
                    "enum": [
                        "wavelength",
                        "odu4_index",
                        "odu2_index",
                        "frequency",
                        "nmcId"
                    ]
                },
                "index_value": {
                    "description": "Value of the signal index",
                    "type": "string"
                }
            }
        },
        "tagResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Array of existing values for the given tag",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "example": {
                "data": [
                    "PV00456",
                    "PV77009",
                    "Ottawa_045"
                ]
            }
        },
        "timeUnit": {
            "description": "A TimeUnit is represented by the unit (SECONDS/MINUTES/HOURS/DAYS) and a value that is quantifying the unit",
            "type": "object",
            "required": [
                "unit",
                "value"
            ],
            "properties": {
                "unit": {
                    "type": "string",
                    "enum": [
                        "SECONDS",
                        "MINUTES",
                        "HOURS",
                        "DAYS"
                    ]
                },
                "value": {
                    "type": "number"
                }
            },
            "example": {
                "unit": "HOURS",
                "value": 3
            }
        },
        "timeUnitEnum": {
            "type": "string",
            "enum": [
                "MILLISECONDS",
                "SECONDS",
                "MINUTES",
                "HOURS",
                "DAYS",
                "WEEKS",
                "MONTHS"
            ]
        },
        "ActiveTraceAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "ncid": {
                    "type": "string"
                },
                "aid": {
                    "type": "string"
                },
                "runningState": {
                    "type": "boolean",
                    "default": false
                },
                "additionalAttributes": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object"
                    }
                }
            }
        },
        "ActiveTraceDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the active trace resource"
                },
                "type": {
                    "type": "string",
                    "description": "The active trace resource type",
                    "enum": [
                        "trace"
                    ]
                },
                "attributes": {
                    "description": "These are the active trace attributes.",
                    "$ref": "#/definitions/ActiveTraceAttributes"
                }
            }
        },
        "ActiveTraceListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetadataRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ActiveTraceDataRO"
                    }
                }
            }
        },
        "ActiveTraceRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ActiveTraceDataRO"
                }
            }
        },
        "DataPoint": {
            "type": "object",
            "properties": {
                "blockId": {
                    "type": "string"
                },
                "numberOfDataPoint": {
                    "type": "integer",
                    "format": "int32"
                },
                "totalNumberOfScaleFactorsUsed": {
                    "type": "integer",
                    "format": "int32"
                },
                "scaleFactors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ScaleFactor"
                    }
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/DataPointValue"
                    }
                }
            }
        },
        "DataPointValue": {
            "type": "object",
            "properties": {
                "getyValue": {
                    "type": "number",
                    "format": "double"
                },
                "getxValue": {
                    "type": "number",
                    "format": "double"
                }
            }
        },
        "DistanceCoordinateAttributes": {
            "type": "object",
            "properties": {
                "distance": {
                    "type": "number",
                    "format": "double"
                },
                "coordinates": {
                    "type": "string"
                }
            }
        },
        "DistanceCoordinateDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the DistanceCoordinateDataRO resource"
                },
                "type": {
                    "type": "string",
                    "description": "The DistanceCoordinate resource type",
                    "enum": [
                        "distancecoordinate"
                    ]
                },
                "attributes": {
                    "description": "These are the distance coordinate attributes.",
                    "$ref": "#/definitions/DistanceCoordinateAttributes"
                }
            }
        },
        "DistanceCoordinateListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetadataRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/DistanceCoordinateDataRO"
                    }
                }
            }
        },
        "FiberPathAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "length (km)": {
                    "type": "number",
                    "format": "double"
                },
                "pathItems": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PathItemAttributes"
                    }
                }
            }
        },
        "FiberPathDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the FiberPathDataRO resource"
                },
                "type": {
                    "type": "string",
                    "description": "The fiberpath resource type",
                    "enum": [
                        "fiberpath"
                    ]
                },
                "attributes": {
                    "description": "These are the fiberpath attributes.",
                    "$ref": "#/definitions/FiberPathAttributes"
                },
                "relationships": {
                    "description": "These are the fiberpath relations.",
                    "$ref": "#/definitions/FiberPathRelationshipRO"
                }
            }
        },
        "FiberPathListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetadataRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberPathDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "FiberPathRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/FiberPathDataRO"
                }
            }
        },
        "FiberPathRelationshipRO": {
            "type": "object",
            "properties": {
                "links": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "FixedParameter": {
            "type": "object",
            "properties": {
                "blockId": {
                    "type": "string"
                },
                "dataTimeStamp": {
                    "type": "string"
                },
                "unitsOfDistance": {
                    "type": "string"
                },
                "actualWavelength": {
                    "type": "number",
                    "format": "double"
                },
                "acquisitionOffset": {
                    "type": "integer",
                    "format": "int64"
                },
                "acquisitionOffsetDistance": {
                    "type": "number",
                    "format": "double"
                },
                "dataSpacing": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "groupIndex": {
                    "type": "number",
                    "format": "double"
                },
                "averageTime": {
                    "type": "number",
                    "format": "double"
                },
                "acquisitionRange": {
                    "type": "integer",
                    "format": "int32"
                },
                "acquisitionRangeDistance": {
                    "type": "number",
                    "format": "double"
                },
                "frontPanelOffset": {
                    "type": "integer",
                    "format": "int32"
                },
                "frontPanelOffsetDistance": {
                    "type": "number",
                    "format": "double"
                },
                "noiseFloorLevel": {
                    "type": "number",
                    "format": "double"
                },
                "noiseFloorScaleFactor": {
                    "type": "number",
                    "format": "double"
                },
                "powerOffsetFirstPoint": {
                    "type": "number",
                    "format": "double"
                },
                "reflectanceThreshold": {
                    "type": "number",
                    "format": "double"
                },
                "endOfFiberThreshold": {
                    "type": "number",
                    "format": "double"
                },
                "traceType": {
                    "type": "string"
                },
                "windowCoordinates": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "totalPulseWidth": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                },
                "pulseWidthUsed": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "eachPulseWidthDataPoint": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "backscatterCoe": {
                    "type": "number",
                    "format": "double",
                    "readOnly": true
                },
                "noOfAverages": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                }
            }
        },
        "GeneralParameter": {
            "type": "object",
            "properties": {
                "blockId": {
                    "type": "string"
                },
                "languageCode": {
                    "type": "string"
                },
                "cableId": {
                    "type": "string"
                },
                "fiberId": {
                    "type": "string"
                },
                "originatingLocation": {
                    "type": "string"
                },
                "terminatingLocation": {
                    "type": "string"
                },
                "cableCode": {
                    "type": "string"
                },
                "currentDataFlag": {
                    "type": "string"
                },
                "userOffset": {
                    "type": "integer",
                    "format": "int32"
                },
                "userOffsetDistance": {
                    "type": "integer",
                    "format": "int32"
                },
                "operator": {
                    "type": "string"
                },
                "fiberType": {
                    "type": "string"
                },
                "wavelength": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                },
                "notes": {
                    "type": "string",
                    "readOnly": true
                }
            }
        },
        "GeometryAttributes": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "coordinates": {
                    "type": "string"
                },
                "outer-boundary": {
                    "type": "string"
                },
                "length (km)": {
                    "type": "number",
                    "format": "double"
                },
                "inner-boundaries": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "KeyEvent": {
            "type": "object",
            "properties": {
                "eventNumber": {
                    "type": "integer",
                    "format": "int32"
                },
                "eventPropagationTime": {
                    "type": "integer",
                    "format": "int32"
                },
                "eventDistance": {
                    "type": "number",
                    "format": "double"
                },
                "attenuationCoefficientLeadInFiber": {
                    "type": "number",
                    "format": "double"
                },
                "eventLoss": {
                    "type": "number",
                    "format": "double"
                },
                "eventReflectance": {
                    "type": "number",
                    "format": "double"
                },
                "eventCode": {
                    "type": "string"
                },
                "lossMeasurementTechnique": {
                    "type": "string"
                },
                "makerLocations": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "comment": {
                    "type": "string"
                },
                "eventRelativeDistance": {
                    "type": "string"
                },
                "eventCodeDetail": {
                    "type": "string"
                }
            }
        },
        "KeyEventBlock": {
            "type": "object",
            "properties": {
                "blockId": {
                    "type": "string"
                },
                "numberOfKeyEvent": {
                    "type": "integer",
                    "format": "int32"
                },
                "endToEndLoss": {
                    "type": "number",
                    "format": "double"
                },
                "endToEndMarkerPositions": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "opticalReturnLoss": {
                    "type": "number",
                    "format": "double"
                },
                "opticalReturnLossMarkerPositions": {
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "events": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "$ref": "#/definitions/KeyEvent"
                    }
                }
            }
        },
        "KmlFileAttributes": {
            "type": "object",
            "properties": {
                "filename": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "KmlFileDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the kml file resource"
                },
                "type": {
                    "type": "string",
                    "description": "The placemark resource type",
                    "enum": [
                        "kmlfile"
                    ]
                },
                "attributes": {
                    "description": "These are the kml file attributes.",
                    "$ref": "#/definitions/KmlFileAttributes"
                }
            }
        },
        "KmlFileListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetadataRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/KmlFileDataRO"
                    }
                }
            }
        },
        "LinkDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the link resource"
                },
                "type": {
                    "type": "string",
                    "description": "The link resource type",
                    "enum": [
                        "link"
                    ]
                },
                "attributes": {
                    "description": "These are the link attributes.",
                    "$ref": "#/definitions/LinkAttributes"
                }
            }
        },
        "LinkListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetadataRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LinkDataRO"
                    }
                }
            }
        },
        "MetadataRO": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "format": "int64"
                }
            }
        },
        "NetworkElementAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "resourcetype": {
                    "type": "string"
                },
                "ipaddress": {
                    "type": "string"
                },
                "macaddress": {
                    "type": "string"
                },
                "serialnumber": {
                    "type": "string"
                },
                "latlong": {
                    "type": "string"
                },
                "softwareversion": {
                    "type": "string"
                },
                "member-function": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "typegroup": {
                    "type": "string"
                },
                "device-type": {
                    "type": "string"
                },
                "session-id": {
                    "type": "string"
                }
            }
        },
        "NetworkElementDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the network element resource"
                },
                "type": {
                    "type": "string",
                    "description": "The network element resource type",
                    "enum": [
                        "ne"
                    ]
                },
                "attributes": {
                    "description": "These are the network element attributes.",
                    "$ref": "#/definitions/NetworkElementAttributes"
                },
                "relationships": {
                    "description": "These are the network element relations.",
                    "$ref": "#/definitions/NetworkElementRelationshipRO"
                }
            }
        },
        "NetworkElementListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetadataRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NetworkElementDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "NetworkElementRelationshipRO": {
            "type": "object",
            "properties": {
                "placemark": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "OtdrAttributes": {
            "type": "object",
            "properties": {
                "maximum-acquisition-time-sec": {
                    "type": "integer",
                    "format": "int32"
                },
                "short-pulse-nsec": {
                    "type": "string"
                },
                "short-distance-mtr": {
                    "type": "string"
                },
                "long-pulse-nsec": {
                    "type": "string"
                },
                "long-distance-mtr": {
                    "type": "string"
                },
                "office-pulse-nsec": {
                    "type": "string"
                },
                "office-distance-mtr": {
                    "type": "string"
                },
                "event-range-mtr": {
                    "type": "integer",
                    "format": "int32"
                },
                "trace-type": {
                    "type": "string",
                    "enum": [
                        "SHORT",
                        "LONG",
                        "OFFICE"
                    ]
                }
            }
        },
        "OtdrDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the otdr resource"
                },
                "type": {
                    "type": "string",
                    "description": "The otdr resource type",
                    "enum": [
                        "otdr"
                    ]
                },
                "attributes": {
                    "description": "These are the otdr attributes.",
                    "$ref": "#/definitions/OtdrAttributes"
                }
            }
        },
        "OtdrRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/OtdrDataRO"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "PathItemAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "geometry": {
                    "type": "string"
                },
                "start-lag": {
                    "type": "number",
                    "format": "double"
                },
                "end-lag": {
                    "type": "number",
                    "format": "double"
                },
                "association-attributes": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "PlacemarkAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "getpId": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "filename": {
                    "type": "string"
                },
                "container": {
                    "type": "string"
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryAttributes"
                },
                "style": {
                    "$ref": "#/definitions/StyleAttributes"
                },
                "additional-attributes": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                }
            }
        },
        "PlacemarkDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the placemark resource"
                },
                "type": {
                    "type": "string",
                    "description": "The placemark resource type",
                    "enum": [
                        "placemark"
                    ]
                },
                "attributes": {
                    "description": "These are the placemark attributes.",
                    "$ref": "#/definitions/PlacemarkAttributes"
                },
                "relationships": {
                    "description": "These are the placemark relations.",
                    "$ref": "#/definitions/PlacemarkRelationshipRO"
                }
            }
        },
        "PlacemarkListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetadataRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlacemarkDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "PlacemarkRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/PlacemarkDataRO"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "PlacemarkRelationshipRO": {
            "type": "object",
            "properties": {
                "fiberpaths": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "ne": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "waypoint": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "spool": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "ScaleFactor": {
            "type": "object",
            "properties": {
                "scale": {
                    "type": "number",
                    "format": "double"
                },
                "firstPoint": {
                    "type": "integer",
                    "format": "int32"
                },
                "numPoints": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "SorAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "ncid": {
                    "type": "string"
                },
                "aid": {
                    "type": "string"
                },
                "filename": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "creationTime": {
                    "type": "string"
                },
                "traceType": {
                    "type": "string"
                },
                "traceTag": {
                    "type": "string"
                },
                "parsedData": {
                    "$ref": "#/definitions/SorResponse"
                }
            }
        },
        "SorDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the sor trace resource"
                },
                "type": {
                    "type": "string",
                    "description": "The sor trace resource type",
                    "enum": [
                        "sor"
                    ]
                },
                "attributes": {
                    "description": "These are the sor trace attributes.",
                    "$ref": "#/definitions/SorAttributes"
                }
            }
        },
        "SorListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetadataRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SorDataRO"
                    }
                }
            }
        },
        "SorMapEntry": {
            "type": "object",
            "properties": {
                "blockId": {
                    "type": "string"
                },
                "revisionNumber": {
                    "type": "integer",
                    "format": "int32"
                },
                "revisionString": {
                    "type": "string"
                },
                "blockSize": {
                    "type": "integer",
                    "format": "int64"
                }
            }
        },
        "SorRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SorDataRO"
                }
            }
        },
        "SorResponse": {
            "type": "object",
            "properties": {
                "blockList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SorMapEntry"
                    }
                },
                "generalParameter": {
                    "$ref": "#/definitions/GeneralParameter"
                },
                "supplierParameter": {
                    "$ref": "#/definitions/SupplierParameter"
                },
                "fixedParameter": {
                    "$ref": "#/definitions/FixedParameter"
                },
                "dataPoint": {
                    "$ref": "#/definitions/DataPoint"
                },
                "checkSum": {
                    "type": "integer",
                    "format": "int32"
                },
                "KeyEvents": {
                    "$ref": "#/definitions/KeyEventBlock"
                }
            }
        },
        "SpoolWaypointAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                },
                "length": {
                    "type": "number",
                    "format": "double"
                },
                "description": {
                    "type": "string"
                }
            }
        },
        "SpoolWaypointDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the spool/waypoint resource"
                },
                "type": {
                    "type": "string",
                    "description": "The spool/waypoint resource type",
                    "enum": [
                        "spool",
                        "waypoint"
                    ]
                },
                "attributes": {
                    "description": "These are the spool/waypoint attributes.",
                    "$ref": "#/definitions/SpoolWaypointAttributes"
                },
                "relationships": {
                    "description": "These are the spool/waypoint relations.",
                    "$ref": "#/definitions/SpoolWaypointRelationshipRO"
                }
            }
        },
        "SpoolWaypointRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SpoolWaypointDataRO"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "SpoolWaypointRelationshipRO": {
            "type": "object",
            "properties": {
                "placemark": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "StyleAttributes": {
            "type": "object",
            "properties": {
                "color": {
                    "type": "string"
                },
                "icon": {
                    "type": "string"
                },
                "fill": {
                    "type": "boolean",
                    "default": false
                },
                "width": {
                    "type": "number",
                    "format": "double"
                }
            }
        },
        "SupplierParameter": {
            "type": "object",
            "properties": {
                "blockId": {
                    "type": "string"
                },
                "supplierName": {
                    "type": "string"
                },
                "otdrMainframeId": {
                    "type": "string"
                },
                "otdrMainframeSerialNumber": {
                    "type": "string"
                },
                "opticalModuleId": {
                    "type": "string"
                },
                "opticalModuleSerialNumber": {
                    "type": "string"
                },
                "softwareRevision": {
                    "type": "string"
                },
                "other": {
                    "type": "string"
                }
            }
        },
        "calculationContext": {
            "type": "object",
            "properties": {
                "calculationName": {
                    "type": "string"
                },
                "measurementpoints": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/measurementPoint"
                    }
                },
                "rootfreId": {
                    "type": "string"
                }
            }
        },
        "calculationContexts": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/calculationContext"
                    }
                }
            }
        },
        "deviation": {
            "description": "a maximum value threshold",
            "type": "object",
            "required": [
                "value",
                "baseValue"
            ],
            "properties": {
                "baseValue": {
                    "description": "the base value from which the deviation occurs",
                    "type": "number"
                },
                "value": {
                    "description": "the absolute value of the deviation for the alert to be triggered",
                    "type": "number"
                }
            }
        },
        "error": {
            "description": "An error that occurred during PM processing",
            "type": "object",
            "properties": {
                "code": {
                    "description": "The error code",
                    "type": "string"
                },
                "detail": {
                    "description": "The detailed description of the error",
                    "type": "string"
                },
                "title": {
                    "description": "The error title",
                    "type": "string"
                }
            }
        },
        "maxValue": {
            "description": "a maximum value threshold",
            "type": "object",
            "required": [
                "value"
            ],
            "properties": {
                "value": {
                    "description": "the value that if the parameter goes above will trigger the alert",
                    "type": "number"
                }
            }
        },
        "metricTags": {
            "description": "A key-value hash of tags to be matched upon, all tags must match for a positive match. Supports regexp matching",
            "type": "object",
            "additionalProperties": {
                "type": "string"
            }
        },
        "minValue": {
            "description": "a minimum value threshold",
            "type": "object",
            "required": [
                "value"
            ],
            "properties": {
                "value": {
                    "description": "the value that if the parameter goes below will trigger the alert",
                    "type": "number"
                }
            }
        },
        "pmProcessorError": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/error"
                    }
                }
            }
        },
        "rawAlarmEvent": {
            "description": "Event to send on topic bp.ra.v1.alarms in order to raise alarm in AEP",
            "type": "object",
            "properties": {
                "_type": {
                    "description": "The alarm event type",
                    "type": "string",
                    "default": "bp.v1.AlarmEvent",
                    "enum": [
                        "bp.v1.AlarmEvent"
                    ]
                },
                "additionalAttributes": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "additionalText": {
                    "description": "The alarm description, E.g. Circuit pack missing",
                    "type": "string"
                },
                "conditionSource": {
                    "description": "The source of the alarm",
                    "type": "string",
                    "enum": [
                        "NETWORK",
                        "MANAGER",
                        "SYSTEM"
                    ]
                },
                "id": {
                    "description": "The RA Alarm ID",
                    "type": "string"
                },
                "nativeConditionType": {
                    "description": "E.g. EQPT_MISSING",
                    "type": "string"
                },
                "nativeConditionTypeQualifier": {
                    "description": "I've not seen this one used before",
                    "type": "string"
                },
                "op": {
                    "description": "The alarm operation",
                    "type": "string",
                    "enum": [
                        "set",
                        "clear"
                    ]
                },
                "resource": {
                    "description": "The alarming entity, e.g. 40GMUX-2-2",
                    "type": "string"
                },
                "resourceId": {
                    "description": "Resource ID used for one method of alarm to service correlation",
                    "type": "string"
                },
                "server": {
                    "description": "Information about the alarming node",
                    "type": "object",
                    "required": [
                        "id",
                        "type"
                    ],
                    "properties": {
                        "id": {
                            "description": "The node ID, is a ManagementSessionId from a 6500, used in alarm to service correlation",
                            "type": "string"
                        },
                        "type": {
                            "description": "The node type. E.g. 6500",
                            "type": "string"
                        }
                    }
                },
                "serviceAffecting": {
                    "type": "string",
                    "enum": [
                        "SERVICE_AFFECTING",
                        "NON_SERVICE_AFFECTING",
                        "UNKNOWN"
                    ]
                },
                "severity": {
                    "type": "string",
                    "enum": [
                        "CRITICAL",
                        "MAJOR",
                        "MINOR",
                        "WARNING",
                        "INDETERMINATE",
                        "INFO",
                        "CONFIG",
                        "DEBUG"
                    ]
                },
                "time": {
                    "description": "The alarm operation time",
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "resourceProfile": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/resourceProfileData"
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "nodeId": [
                            "id_1",
                            "id_2"
                        ],
                        "tags": [
                            {
                                "tag1": "tag1matcher",
                                "tag2": "tag2matcher"
                            },
                            {
                                "tag1": "differentMatcher"
                            }
                        ],
                        "thresholdGroupId": [
                            "myGroup1",
                            "myGroup2"
                        ]
                    },
                    "id": "WestCoastResources",
                    "type": "resourceProfile"
                }
            }
        },
        "resourceProfileAttributes": {
            "description": "attributes of a resource profile",
            "type": "object",
            "required": [
                "nodeId",
                "thresholdGroupId"
            ],
            "properties": {
                "nodeId": {
                    "description": "The IDs for nodes containing the specified resource(s)",
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "tags": {
                    "description": "Specific tags to match on. Currently only the facilityNameNative tag is supported. Regexp match supported",
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/metricTags"
                    }
                },
                "thresholdGroupId": {
                    "description": "The threshold group(s) to associate with the resource profile",
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "resourceProfileData": {
            "description": "A resource profile",
            "type": "object",
            "required": [
                "id",
                "type",
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/resourceProfileAttributes"
                },
                "id": {
                    "description": "The unique resource profile identifer",
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "default": "resourceProfile",
                    "enum": [
                        "resourceProfile"
                    ]
                }
            }
        },
        "resourceProfiles": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/resourceProfileData"
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "nodeId": [
                                "id_1",
                                "id_2"
                            ],
                            "tags": [
                                {
                                    "tag1": "tag1matcher",
                                    "tag2": "tag2matcher"
                                },
                                {
                                    "tag1": "differentMatcher"
                                }
                            ],
                            "thresholdGroupId": [
                                "myGroup1",
                                "myGroup2"
                            ]
                        },
                        "id": "WestCoastResources",
                        "type": "resourceProfile"
                    }
                ]
            }
        },
        "threshold": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/thresholdData"
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "action": {
                            "alarmAlert": {
                                "severity": "MINOR"
                            }
                        },
                        "maxValue": {
                            "value": 10.5
                        },
                        "name": "My threshold",
                        "pmParameter": "fiberloss",
                        "tags": {
                            "granularityNative": "15-MIN"
                        },
                        "thresholdType": "max"
                    },
                    "id": "0911c8ff-07e7-43dd-96f2-b2bdb3f987ad",
                    "type": "threshold"
                }
            }
        },
        "thresholdAlarmAlert": {
            "description": "An alarm alert",
            "type": "object",
            "required": [
                "severity"
            ],
            "properties": {
                "severity": {
                    "description": "The severity of alarm to raise for threshold crossing",
                    "type": "string",
                    "enum": [
                        "CRITICAL",
                        "MAJOR",
                        "MINOR",
                        "WARNING",
                        "INDETERMINATE",
                        "INFO",
                        "CONFIG",
                        "DEBUG"
                    ]
                }
            }
        },
        "thresholdAlertAction": {
            "description": "the threshold crossing alert action",
            "type": "object",
            "required": [
                "alarmAlert"
            ],
            "properties": {
                "alarmAlert": {
                    "$ref": "#/definitions/thresholdAlarmAlert"
                }
            }
        },
        "thresholdAttributes": {
            "description": "attributes of a threshold",
            "type": "object",
            "required": [
                "thresholdType",
                "pmParameter",
                "action"
            ],
            "properties": {
                "action": {
                    "$ref": "#/definitions/thresholdAlertAction"
                },
                "deviation": {
                    "$ref": "#/definitions/deviation"
                },
                "maxValue": {
                    "$ref": "#/definitions/maxValue"
                },
                "minValue": {
                    "$ref": "#/definitions/minValue"
                },
                "name": {
                    "description": "The threshold name",
                    "type": "string"
                },
                "pmParameter": {
                    "description": "The PM parameter to apply the threshold to",
                    "type": "string"
                },
                "tags": {
                    "description": "Specific tags to match on. Currently only the granularityNative tag is supported. Exact match only, regexp will be supported in a future release",
                    "$ref": "#/definitions/metricTags"
                },
                "thresholdType": {
                    "type": "string",
                    "enum": [
                        "min",
                        "max",
                        "deviation"
                    ]
                }
            }
        },
        "thresholdData": {
            "description": "A threshold",
            "type": "object",
            "required": [
                "id",
                "type",
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/thresholdAttributes"
                },
                "id": {
                    "description": "the unique threshold ID",
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "default": "threshold",
                    "enum": [
                        "threshold"
                    ]
                }
            }
        },
        "thresholdDataNoID": {
            "description": "A threshold",
            "type": "object",
            "required": [
                "type",
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/thresholdAttributes"
                },
                "type": {
                    "type": "string",
                    "default": "threshold",
                    "enum": [
                        "threshold"
                    ]
                }
            }
        },
        "thresholdGroup": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/thresholdGroupData"
                }
            },
            "example": {
                "data": {
                    "attributes": {
                        "thresholdId": [
                            "threshold_id_1",
                            "threshold_id_2"
                        ]
                    },
                    "id": "Troubleshoot",
                    "type": "thresholdGroup"
                }
            }
        },
        "thresholdGroupAttributes": {
            "description": "attributes of a threshold group",
            "type": "object",
            "required": [
                "thresholdId"
            ],
            "properties": {
                "thresholdId": {
                    "description": "The threshold ID(s) to group",
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "thresholdGroupData": {
            "description": "A threshold group",
            "type": "object",
            "required": [
                "id",
                "type",
                "attributes"
            ],
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/thresholdGroupAttributes"
                },
                "id": {
                    "description": "The unique threshold group identifer",
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "default": "thresholdGroup",
                    "enum": [
                        "thresholdGroup"
                    ]
                }
            }
        },
        "thresholdGroups": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/thresholdGroupData"
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "thresholdId": [
                                "threshold_id_1",
                                "threshold_id_2"
                            ]
                        },
                        "id": "Troubleshoot",
                        "type": "thresholdGroup"
                    }
                ]
            }
        },
        "thresholds": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/thresholdData"
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "action": {
                                "alarmAlert": {
                                    "severity": "MINOR"
                                }
                            },
                            "maxValue": {
                                "value": 10.5
                            },
                            "name": "My threshold",
                            "pmParameter": "fiberloss",
                            "tags": {
                                "granularityNative": "15-MIN"
                            },
                            "thresholdType": "max"
                        },
                        "id": "0911c8ff-07e7-43dd-96f2-b2bdb3f987ad",
                        "type": "threshold"
                    }
                ]
            }
        },
        "thresholdsNoID": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/thresholdDataNoID"
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "attributes": {
                            "action": {
                                "alarmAlert": {
                                    "severity": "MINOR"
                                }
                            },
                            "maxValue": {
                                "value": 10.5
                            },
                            "name": "My threshold",
                            "pmParameter": "fiberloss",
                            "tags": {
                                "granularityNative": "15-MIN"
                            },
                            "thresholdType": "max"
                        },
                        "type": "threshold"
                    }
                ]
            }
        },
        "Condition": {
            "properties": {
                "category": {
                    "$ref": "#/definitions/ConditionCategory"
                },
                "createdAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "CreatedAt"
                },
                "createdBy": {
                    "type": "string",
                    "x-go-name": "CreatedBy"
                },
                "creator": {
                    "type": "string",
                    "x-go-name": "Creator"
                },
                "evaluationChangeDate": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "EvaluationChangeDate"
                },
                "evaluationMessage": {
                    "type": "string",
                    "x-go-name": "EvaluationMessage"
                },
                "evaluationResult": {
                    "type": "boolean",
                    "x-go-name": "EvaluationResult"
                },
                "properties": {
                    "type": "object",
                    "x-go-name": "Properties"
                },
                "tag": {
                    "type": "string",
                    "x-go-name": "Tag"
                },
                "type": {
                    "$ref": "#/definitions/ConditionType"
                },
                "updatedAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "UpdatedAt"
                },
                "updatedBy": {
                    "type": "string",
                    "x-go-name": "UpdatedBy"
                },
                "updator": {
                    "type": "string",
                    "x-go-name": "Updator"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                },
                "watcherUuid": {
                    "type": "string",
                    "x-go-name": "WatcherUuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/watchers/condition"
        },
        "Policy": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "UUID of the policy"
                },
                "policyType": {
                    "description": "Type of policy",
                    "$ref": "#/definitions/Value"
                },
                "name": {
                    "type": "string",
                    "description": "Policy name"
                },
                "authRealm": {
                    "type": "string",
                    "description": "Authentication realm to which the policy applies"
                },
                "tenantId": {
                    "type": "string",
                    "description": "UUID for the tenant for whom this policy applies"
                },
                "description": {
                    "type": "string",
                    "description": "Optional description of the policy"
                },
                "conditionId": {
                    "type": "string",
                    "description": "Identifier for the logical condition used to determine applicability of this policy"
                },
                "policyActions": {
                    "description": "Type of policy action (accept, deny, filter, monitor, etc.)",
                    "$ref": "#/definitions/Value"
                },
                "filter": {
                    "type": "array",
                    "description": "Set of filters to apply in this policy",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "monitoredTopic": {
                    "type": "string",
                    "description": "Message bus topic for a monitor policy type"
                },
                "actionInfo": {
                    "description": "Action info for a monitor policy type",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "A description of a single policy"
        },
        "AuthRealm": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Realm name"
                },
                "description": {
                    "type": "string",
                    "description": "Optional description of the realm"
                }
            },
            "description": "A description of a single authorization realm"
        },
        "ListReply[Policy]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/Policy"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ListReply[Condition]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/Condition"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "ConditionProp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "UUID of the condition. An UUID will be assigned if not specified"
                },
                "name": {
                    "type": "string",
                    "description": "Condition name"
                },
                "tenantId": {
                    "type": "string",
                    "description": "UUID for the tenant for whom this condition applies"
                },
                "description": {
                    "type": "string",
                    "description": "Optional description of the condition"
                },
                "definition": {
                    "type": "string",
                    "description": "Boolean expression that used to define the matching condition"
                }
            },
            "description": "A description of a policy condition creation request"
        },
        "ListReply[AuthRealm]": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "description": "List of requested items (in current page if paged)",
                    "items": {
                        "$ref": "#/definitions/AuthRealm"
                    }
                },
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Total number of items in the reply (across all pages if applicable)"
                },
                "nextPageToken": {
                    "type": "string",
                    "description": "Identifier used to fetch the next page of results"
                },
                "offset": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Offset within the total count of results where this current items list starts"
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Limit on the number of items included in a single response page"
                }
            },
            "title": "ListReply"
        },
        "PolicyProp": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "UUID of the policy. An UUID will be assigned if not specified"
                },
                "policyType": {
                    "description": "Type of policy",
                    "$ref": "#/definitions/Value"
                },
                "name": {
                    "type": "string",
                    "description": "Policy name"
                },
                "authRealm": {
                    "type": "string",
                    "description": "Authentication realm to which the policy applies"
                },
                "tenantId": {
                    "type": "string",
                    "description": "UUID for the tenant for whom this policy applies"
                },
                "description": {
                    "type": "string",
                    "description": "Optional description of the policy"
                },
                "conditionId": {
                    "type": "string",
                    "description": "Identifier for the logical condition used to determine applicability of this policy"
                },
                "policyActions": {
                    "description": "Type of policy action (accept, deny, filter, monitor, etc.)",
                    "$ref": "#/definitions/Value"
                },
                "filter": {
                    "type": "array",
                    "description": "Set of filters to apply in this policy",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "monitoredTopic": {
                    "type": "string",
                    "description": "Message bus topic for a monitor policy type"
                },
                "actionInfo": {
                    "description": "Action info for a monitor policy type",
                    "$ref": "#/definitions/JObject"
                }
            },
            "description": "A description of a policy creation request"
        },
        "ResourceObjectRO": {
            "type": "object",
            "properties": {
                "nativeName": {
                    "type": "string",
                    "description": "Native name for the TPE resource"
                }
            }
        },
        "TpeExpectationAttributesRO": {
            "type": "object",
            "properties": {
                "validateParameters": {
                    "description": "Attribute containing the list of parameters (if any) to be validated against the expectation",
                    "$ref": "#/definitions/ValidateParametersRO"
                },
                "pathType": {
                    "type": "string",
                    "description": "The path type of this FRE/TPE expectation.",
                    "enum": [
                        "home",
                        "target"
                    ]
                },
                "startDate": {
                    "type": "string",
                    "description": "The scheduled start date and time of the expectation, with RFC 3339 date-time format"
                },
                "endDate": {
                    "type": "string",
                    "description": "The scheduled end date and time of the expectation, with RFC 3339 date-time format"
                },
                "policies": {
                    "type": "array",
                    "description": "Policies to be applied to the entity.",
                    "items": {
                        "type": "object"
                    }
                },
                "structureType": {
                    "type": "string",
                    "enum": [
                        "PTP",
                        "FTP",
                        "CTP_SERVER_TO_CLIENT",
                        "CTP_CLIENT_TO_SERVER",
                        "CTP_CLIENT_TO_CLIENT",
                        "CTP_SERVER_TO_DOMAIN"
                    ]
                },
                "structureSubType": {
                    "type": "string",
                    "enum": [
                        "osrpLink",
                        "osrpLine",
                        "regen"
                    ]
                },
                "tpeSpec": {
                    "type": "string",
                    "description": "Name of TPESpec describing this TPE instance. FUTURE: enumerated value, part of TPESpec catalog."
                },
                "tpeGroupSpecs": {
                    "type": "array",
                    "description": "Names of TPEGSpec-s this TPE belongs to. FUTURE: enumerated value, part of TPEGSpec catalog.",
                    "items": {
                        "type": "string"
                    }
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the TPE that is native to the network element"
                },
                "userLabel": {
                    "type": "string",
                    "description": "The label given to the TPE by an user"
                },
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "layerTerminations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LayerTerminationRO"
                    }
                },
                "stackDirection": {
                    "type": "string",
                    "enum": [
                        "client_to_server",
                        "server_to_client",
                        "bidirectional",
                        "horizontal_unidirectional",
                        "unknown"
                    ]
                },
                "displayAlias": {
                    "type": "string",
                    "description": "The displayAlias of the TPE"
                },
                "dynamicFgiSpecificationRefList": {
                    "type": "array",
                    "description": "A list of dynamic Forwarding Group assignments.  Each assignment costs of the fGNane, FGVersion, and FGInstance.  E.g 'May_Comment:1.0.0:1234'",
                    "items": {
                        "type": "string"
                    }
                },
                "fgiSpecificationRefList": {
                    "type": "array",
                    "description": "A list of Forwarding Group assignments.  Each assignment costs of the fGNane, FGVersion, and FGInstance.  E.g 'May_Comment:1.0.0:1234'",
                    "items": {
                        "type": "string"
                    }
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "availableCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "capacityReservations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityReservationRO"
                    }
                },
                "cardType": {
                    "type": "string"
                },
                "category": {
                    "type": "string",
                    "enum": [
                        "CHANNEL_TX",
                        "CHANNEL_RX",
                        "OTN_ACCESS"
                    ]
                },
                "roadmLine": {
                    "type": "string"
                },
                "syncScopes": {
                    "type": "array",
                    "description": "The sync scope for the TPE",
                    "items": {
                        "$ref": "#/definitions/SyncScopeRO"
                    }
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "active": {
                    "type": "boolean",
                    "description": "An indicator to flag when a TPE is active, or simply a potential.",
                    "default": false
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRuleRO"
                },
                "lifeCycleOwner": {
                    "type": "string",
                    "description": "Specifies who owns the lifecycle of a TPE"
                },
                "provisioningAttributes": {
                    "description": "Indicates attributes that are used solely in the provisioning workflow. These attributes would not be reported on discovery, but aid in the provisioning workflow.",
                    "$ref": "#/definitions/ProvisioningAttributesRO"
                },
                "capabilitySpecification": {
                    "description": "Defines a capability specification; normally for a TPE but can be utilized elsewhere in the future.",
                    "$ref": "#/definitions/CapabilitySpecRO"
                },
                "cardMode": {
                    "type": "string",
                    "description": "Provides a means to differentiate different configurations of the card setup. For example, WLAi 400G OTR has several configuration options for 400G line service rate.",
                    "enum": [
                        "maxReach",
                        "maxCapacity",
                        "maxReach_Regen",
                        "maxCapacity_Regen",
                        "undetermined"
                    ]
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the associated NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "customerCode": {
                    "type": "string",
                    "description": "Customer code"
                },
                "owningServerTpeListType": {
                    "type": "string",
                    "description": "Owning server tpe list type.",
                    "enum": [
                        "uniDecomposed",
                        "inverseMux",
                        "none"
                    ]
                },
                "resiliencyHandlingPackage": {
                    "type": "array",
                    "description": " triggers stitcher building resiliency view and NSI updating layerRate in resiliency view",
                    "items": {
                        "$ref": "#/definitions/ResiliencyHandlingPackageRO"
                    }
                },
                "resiliencyPackage": {
                    "description": "The resiliency package contains attributes only appear in resiliency view.",
                    "$ref": "#/definitions/TpeResiliencyPackageRO"
                },
                "parentEBBWConstraint": {
                    "description": "Virtual TPe reference for constraints update",
                    "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                },
                "parentEBFREBWConstraint": {
                    "description": "Virtual TPe reference for constraints update",
                    "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                },
                "parentEBBWConstraintList": {
                    "type": "array",
                    "description": "A list of Virtual TPEs as BW constraint.",
                    "items": {
                        "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                    }
                },
                "parentEBFREBWConstraintList": {
                    "type": "array",
                    "description": "A list of Virtual TPEs as FRE constraint.",
                    "items": {
                        "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                    }
                },
                "stitchingTriggers": {
                    "$ref": "#/definitions/StitchingTriggersRO"
                },
                "plannedEndpointRole": {
                    "type": "string",
                    "description": "The role that this end point plays for multicast FRE.",
                    "enum": [
                        "drop",
                        "source"
                    ]
                },
                "gneSubnetName": {
                    "type": "string",
                    "description": "The GNE Subnet Name of the TPE"
                },
                "displayRate": {
                    "type": "string",
                    "description": "DisplayRate of TPE, for instance BITRATE of ODUTTP in case of ODUFLEX/ETHFLEX rate TPE"
                },
                "referencedByAssociations": {
                    "type": "array",
                    "description": "A list of associations of fres that would refer to this tpe",
                    "items": {
                        "$ref": "#/definitions/AssociationRO"
                    }
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group .",
                    "items": {
                        "type": "string"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared SRLG of this TPE .",
                    "items": {
                        "type": "string"
                    }
                },
                "externalFgiSpecsRefList": {
                    "type": "array",
                    "description": "List of External Forwarding Group assignments.",
                    "items": {
                        "type": "string"
                    }
                },
                "ethernetSegment": {
                    "description": "Ethernet segment",
                    "$ref": "#/definitions/EthernetSegmentRO"
                },
                "evpn": {
                    "description": "Package that holds Ethernet Virtual Private Network data",
                    "$ref": "#/definitions/EvpnRO"
                }
            }
        },
        "TpeExpectationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the tpe expectation"
                },
                "type": {
                    "type": "string",
                    "description": "The tpe expectation type",
                    "enum": [
                        "tpeExpectations"
                    ]
                },
                "attributes": {
                    "description": "Expectation attributes to be kept by NSI.",
                    "$ref": "#/definitions/TpeExpectationAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/TpeExpectationRelationshipsRO"
                }
            }
        },
        "TpeExpectationListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TpeExpectationDataRO"
                    }
                }
            }
        },
        "TpeExpectationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/TpeExpectationDataRO"
                }
            }
        },
        "TpeExpectationRelationshipsRO": {
            "type": "object",
            "properties": {
                "serviceIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "intent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstructAssociation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipment": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "owningServerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "clientTpes": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "owningServerTpeList": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "owningPeerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "ownedPeerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partnerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "owningClientTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "controller": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "configurationAndSwitchControl": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "TpePatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on an Tpe resource",
                    "enum": [
                        "srlgPatch",
                        "externalSrlgRemove",
                        "replace"
                    ]
                },
                "srlgRelationships": {
                    "description": "Srlgs in planned relationships of NC/Equipment/Fres",
                    "$ref": "#/definitions/SrlgPatchDataRO"
                },
                "patchTpeExpectation": {
                    "$ref": "#/definitions/TpeExpectationDataRO"
                }
            }
        },
        "TpePatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TpePatchOperationRO"
                    }
                }
            }
        },
        "TpePlannedAttributesRO": {
            "type": "object",
            "properties": {
                "structureType": {
                    "type": "string",
                    "enum": [
                        "PTP",
                        "FTP",
                        "CTP_SERVER_TO_CLIENT",
                        "CTP_CLIENT_TO_SERVER",
                        "CTP_CLIENT_TO_CLIENT",
                        "CTP_SERVER_TO_DOMAIN"
                    ]
                },
                "structureSubType": {
                    "type": "string",
                    "enum": [
                        "osrpLink",
                        "osrpLine",
                        "regen"
                    ]
                },
                "tpeSpec": {
                    "type": "string",
                    "description": "Name of TPESpec describing this TPE instance. FUTURE: enumerated value, part of TPESpec catalog."
                },
                "tpeGroupSpecs": {
                    "type": "array",
                    "description": "Names of TPEGSpec-s this TPE belongs to. FUTURE: enumerated value, part of TPEGSpec catalog.",
                    "items": {
                        "type": "string"
                    }
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the TPE that is native to the network element"
                },
                "userLabel": {
                    "type": "string",
                    "description": "The label given to the TPE by an user"
                },
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "layerTerminations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LayerTerminationRO"
                    }
                },
                "stackDirection": {
                    "type": "string",
                    "enum": [
                        "client_to_server",
                        "server_to_client",
                        "bidirectional",
                        "horizontal_unidirectional",
                        "unknown"
                    ]
                },
                "displayAlias": {
                    "type": "string",
                    "description": "The displayAlias of the TPE"
                },
                "dynamicFgiSpecificationRefList": {
                    "type": "array",
                    "description": "A list of dynamic Forwarding Group assignments.  Each assignment costs of the fGNane, FGVersion, and FGInstance.  E.g 'May_Comment:1.0.0:1234'",
                    "items": {
                        "type": "string"
                    }
                },
                "fgiSpecificationRefList": {
                    "type": "array",
                    "description": "A list of Forwarding Group assignments.  Each assignment costs of the fGNane, FGVersion, and FGInstance.  E.g 'May_Comment:1.0.0:1234'",
                    "items": {
                        "type": "string"
                    }
                },
                "totalCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "availableCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedCapacity": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "capacityReservations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityReservationRO"
                    }
                },
                "cardType": {
                    "type": "string"
                },
                "category": {
                    "type": "string",
                    "enum": [
                        "CHANNEL_TX",
                        "CHANNEL_RX",
                        "OTN_ACCESS"
                    ]
                },
                "roadmLine": {
                    "type": "string"
                },
                "syncScopes": {
                    "type": "array",
                    "description": "The sync scope for the TPE",
                    "items": {
                        "$ref": "#/definitions/SyncScopeRO"
                    }
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "active": {
                    "type": "boolean",
                    "description": "An indicator to flag when a TPE is active, or simply a potential.",
                    "default": false
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRuleRO"
                },
                "lifeCycleOwner": {
                    "type": "string",
                    "description": "Specifies who owns the lifecycle of a TPE"
                },
                "provisioningAttributes": {
                    "description": "Indicates attributes that are used solely in the provisioning workflow. These attributes would not be reported on discovery, but aid in the provisioning workflow.",
                    "$ref": "#/definitions/ProvisioningAttributesRO"
                },
                "capabilitySpecification": {
                    "description": "Defines a capability specification; normally for a TPE but can be utilized elsewhere in the future.",
                    "$ref": "#/definitions/CapabilitySpecRO"
                },
                "cardMode": {
                    "type": "string",
                    "description": "Provides a means to differentiate different configurations of the card setup. For example, WLAi 400G OTR has several configuration options for 400G line service rate.",
                    "enum": [
                        "maxReach",
                        "maxCapacity",
                        "maxReach_Regen",
                        "maxCapacity_Regen",
                        "undetermined"
                    ]
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the associated NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "customerCode": {
                    "type": "string",
                    "description": "Customer code"
                },
                "owningServerTpeListType": {
                    "type": "string",
                    "description": "Owning server tpe list type.",
                    "enum": [
                        "uniDecomposed",
                        "inverseMux",
                        "none"
                    ]
                },
                "resiliencyHandlingPackage": {
                    "type": "array",
                    "description": " triggers stitcher building resiliency view and NSI updating layerRate in resiliency view",
                    "items": {
                        "$ref": "#/definitions/ResiliencyHandlingPackageRO"
                    }
                },
                "resiliencyPackage": {
                    "description": "The resiliency package contains attributes only appear in resiliency view.",
                    "$ref": "#/definitions/TpeResiliencyPackageRO"
                },
                "parentEBBWConstraint": {
                    "description": "Virtual TPe reference for constraints update",
                    "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                },
                "parentEBFREBWConstraint": {
                    "description": "Virtual TPe reference for constraints update",
                    "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                },
                "parentEBBWConstraintList": {
                    "type": "array",
                    "description": "A list of Virtual TPEs as BW constraint.",
                    "items": {
                        "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                    }
                },
                "parentEBFREBWConstraintList": {
                    "type": "array",
                    "description": "A list of Virtual TPEs as FRE constraint.",
                    "items": {
                        "$ref": "#/definitions/VirtualTpeBWConstraintsRO"
                    }
                },
                "stitchingTriggers": {
                    "$ref": "#/definitions/StitchingTriggersRO"
                },
                "plannedEndpointRole": {
                    "type": "string",
                    "description": "The role that this end point plays for multicast FRE.",
                    "enum": [
                        "drop",
                        "source"
                    ]
                },
                "gneSubnetName": {
                    "type": "string",
                    "description": "The GNE Subnet Name of the TPE"
                },
                "displayRate": {
                    "type": "string",
                    "description": "DisplayRate of TPE, for instance BITRATE of ODUTTP in case of ODUFLEX/ETHFLEX rate TPE"
                },
                "referencedByAssociations": {
                    "type": "array",
                    "description": "A list of associations of fres that would refer to this tpe",
                    "items": {
                        "$ref": "#/definitions/AssociationRO"
                    }
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group .",
                    "items": {
                        "type": "string"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared SRLG of this TPE .",
                    "items": {
                        "type": "string"
                    }
                },
                "externalFgiSpecsRefList": {
                    "type": "array",
                    "description": "List of External Forwarding Group assignments.",
                    "items": {
                        "type": "string"
                    }
                },
                "ethernetSegment": {
                    "description": "Ethernet segment",
                    "$ref": "#/definitions/EthernetSegmentRO"
                },
                "evpn": {
                    "description": "Package that holds Ethernet Virtual Private Network data",
                    "$ref": "#/definitions/EvpnRO"
                }
            }
        },
        "TpePlannedDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the planned tpe"
                },
                "type": {
                    "type": "string",
                    "description": "The tpe planned type",
                    "enum": [
                        "tpePlanned"
                    ]
                },
                "attributes": {
                    "description": "These attributes are set by REST API to be used to validate the expectation.",
                    "$ref": "#/definitions/TpePlannedAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/TpePlannedRelationshipsRO"
                }
            }
        },
        "TpePlannedRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/TpePlannedDataRO"
                }
            }
        },
        "TpePlannedRelationshipsRO": {
            "type": "object",
            "properties": {
                "serviceIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "manualSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicAutoSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicInheritedSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicPropagatedSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "manualShareSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "networkConstructAssociation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipment": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "owningServerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "clientTpes": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "owningServerTpeList": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "owningPeerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "ownedPeerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partnerTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "owningClientTpe": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "controller": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "configurationAndSwitchControl": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "TpeRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "data": {
                    "$ref": "#/definitions/TpeDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Referenced sub-resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "TpeTtiDataRO": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string",
                    "description": "The unique identifier for the TPE resource"
                },
                "resourceObject": {
                    "$ref": "#/definitions/ResourceObjectRO"
                },
                "trailTraceType": {
                    "type": "string",
                    "description": "trailTraceType"
                }
            }
        },
        "TpeTtiPostDataRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/TpeTtiDataRO"
                }
            }
        },
        "TpeTtiSnapshotRO": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/AttributesRO"
                }
            }
        },
        "ProblemPatch": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Operation"
                    }
                }
            }
        },
        "ProblemRequest": {
            "type": "object",
            "properties": {
                "search": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "$ref": "#/definitions/Filter"
                    }
                },
                "selection": {
                    "type": "array",
                    "readOnly": true,
                    "items": {
                        "$ref": "#/definitions/Filter"
                    }
                },
                "metaDataFields": {
                    "type": "array",
                    "readOnly": true,
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "metaDataOnly": {
                    "type": "boolean",
                    "readOnly": true,
                    "default": false
                },
                "limit": {
                    "type": "integer",
                    "format": "int32",
                    "readOnly": true
                }
            }
        },
        "ProjectArchivedStatus": {
            "format": "int32",
            "enum": [
                0,
                1,
                2
            ],
            "type": "integer"
        },
        "ErrorSource": {
            "type": "object",
            "properties": {
                "pointer": {
                    "type": "string"
                },
                "parameter": {
                    "type": "string"
                }
            }
        },
        "ProjectState": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10
            ],
            "type": "integer"
        },
        "ProjectType": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4
            ],
            "type": "integer"
        },
        "PlanningProject": {
            "required": [
                "CompletionDate",
                "Name"
            ],
            "type": "object",
            "properties": {
                "Id": {
                    "format": "uuid",
                    "type": "string"
                },
                "Name": {
                    "type": "string"
                },
                "CompletionDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "ExpirationDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "State": {
                    "$ref": "#/definitions/ProjectState"
                },
                "Description": {
                    "type": "string"
                },
                "StatusMessage": {
                    "type": "string"
                },
                "IntentId": {
                    "type": "string"
                },
                "ProjectListId": {
                    "format": "uuid",
                    "type": "string"
                },
                "ProjectType": {
                    "$ref": "#/definitions/ProjectType"
                },
                "IsArchived": {
                    "type": "boolean"
                },
                "CommittedDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "DeployedEquipment": {
                    "format": "int32",
                    "type": "integer"
                },
                "TotalEquipment": {
                    "format": "int32",
                    "type": "integer"
                }
            }
        },
        "ProjectsArchivedStatusUpdateRequest": {
            "description": "Projects Archived Status Update Request",
            "required": [
                "archivedStatus",
                "projectIds"
            ],
            "type": "object",
            "properties": {
                "projectIds": {
                    "description": "List of Ids of projects.",
                    "type": "array",
                    "items": {
                        "format": "uuid",
                        "type": "string"
                    }
                },
                "archivedStatus": {
                    "description": "archived status true/false",
                    "type": "boolean"
                }
            }
        },
        "Identifier": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        },
        "ProjectListFailure": {
            "type": "object",
            "properties": {
                "project": {
                    "$ref": "#/definitions/Identifier"
                },
                "failureReasons": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ProjectListState": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7
            ],
            "type": "integer"
        },
        "ProjectListSyncState": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3
            ],
            "type": "integer"
        },
        "ProjectList": {
            "type": "object",
            "properties": {
                "id": {
                    "format": "uuid",
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "validatedDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "committedDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "projects": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Identifier"
                    }
                },
                "failureReasons": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ProjectListFailure"
                    }
                },
                "state": {
                    "$ref": "#/definitions/ProjectListState"
                },
                "syncState": {
                    "$ref": "#/definitions/ProjectListSyncState"
                }
            }
        },
        "ErrorList": {
            "type": "object",
            "properties": {
                "errors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Error"
                    }
                }
            }
        },
        "AddProjectRequest": {
            "type": "object",
            "properties": {
                "projectId": {
                    "format": "uuid",
                    "type": "string"
                },
                "projectName": {
                    "type": "string"
                }
            }
        },
        "ProjectListV1": {
            "type": "object",
            "properties": {
                "id": {
                    "format": "uuid",
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "validatedDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "committedDate": {
                    "format": "date-time",
                    "type": "string"
                },
                "projects": {
                    "type": "array",
                    "items": {
                        "format": "uuid",
                        "type": "string"
                    }
                },
                "failureReasons": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "state": {
                    "$ref": "#/definitions/ProjectListState"
                },
                "syncState": {
                    "$ref": "#/definitions/ProjectListSyncState"
                }
            }
        },
        "AllReportMetaDataModelRO": {
            "type": "object",
            "properties": {
                "reportType": {
                    "type": "string"
                },
                "reportMetaData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ReportMetaDataModel"
                    }
                }
            }
        },
        "CreateAndUpdateReportScheduleModelV1": {
            "type": "object",
            "properties": {
                "StartTime": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                }
            }
        },
        "CreateAndUpdateReportScheduleModelV2": {
            "type": "object",
            "properties": {
                "cronExpression": {
                    "type": "string"
                },
                "cronExpressionFormat": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                }
            }
        },
        "CreateReportTypeResponseModel": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "creationTime": {
                    "type": "string"
                }
            }
        },
        "OnDemandReportMetaDataResponseModelV2": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/OnDemandResponseModelV2"
                    }
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "meta": {
                    "$ref": "#/definitions/MetaData"
                }
            }
        },
        "OnDemandReportRequestModel": {
            "type": "object",
            "properties": {
                "reportType": {
                    "type": "string"
                }
            }
        },
        "OnDemandReportRequestModelV2": {
            "type": "object",
            "properties": {
                "reportType": {
                    "type": "string"
                }
            }
        },
        "OnDemandReportRequestPayloadV2": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/OnDemandRequestModelV2"
                }
            }
        },
        "OnDemandRequestModelV2": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "report"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/OnDemandReportRequestModelV2"
                }
            }
        },
        "OnDemandResponseModelV2": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ReportMetaDataModelV2"
                }
            }
        },
        "OneTouchOnDemandRequestModelV2": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "report"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/OneTouchReportRequestModel"
                },
                "utcOffset": {
                    "type": "string"
                }
            }
        },
        "OneTouchReportRequestModel": {
            "type": "object",
            "properties": {
                "reportFormat": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                }
            }
        },
        "OneTouchReportRequestPayloadV2": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/OneTouchOnDemandRequestModelV2"
                }
            }
        },
        "QueryAllReportsScheduleROV1": {
            "type": "object",
            "properties": {
                "reportType": {
                    "type": "string"
                },
                "scheduleMetaData": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/QueryReportScheduleROV1"
                    }
                }
            }
        },
        "QueryAllReportsScheduleROV2": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/QueryReportScheduleROV2"
                    }
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "meta": {
                    "$ref": "#/definitions/MetaData"
                }
            }
        },
        "QueryReportScheduleROV1": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                },
                "startDateTime": {
                    "type": "string"
                }
            }
        },
        "QueryReportScheduleROV2": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ReportScheduleAttributes"
                }
            }
        },
        "QueryReportsScheduleROV2": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/QueryReportScheduleROV2"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "meta": {
                    "$ref": "#/definitions/MetaData"
                }
            }
        },
        "ReportMetaDataModel": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                },
                "reportGenerationTime": {
                    "type": "string"
                },
                "reportStatus": {
                    "type": "string"
                },
                "reportContentType": {
                    "type": "string"
                },
                "reportGenerationMode": {
                    "type": "string"
                }
            }
        },
        "ReportMetaDataModelV2": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                },
                "reportGenerationTime": {
                    "type": "string"
                },
                "reportStatus": {
                    "type": "string"
                },
                "reportContentType": {
                    "type": "string"
                },
                "reportGenerationMode": {
                    "type": "string"
                }
            }
        },
        "ReportMetaDataResponseModelV2": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/OnDemandResponseModelV2"
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "meta": {
                    "$ref": "#/definitions/MetaData"
                }
            }
        },
        "ReportScheduleAttributes": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                },
                "cronExpression": {
                    "type": "string"
                },
                "cronExpressionFormat": {
                    "type": "string"
                },
                "cronDescription": {
                    "type": "string"
                }
            }
        },
        "ReportScheduleRequestDataModelV2": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "reportSchedule"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/CreateAndUpdateReportScheduleModelV2"
                }
            }
        },
        "ReportsScheduleRequestPayloadV2": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ReportScheduleRequestDataModelV2"
                }
            }
        },
        "SupportedReportTypeModelV2": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/SupportedReportTypeV2"
                }
            }
        },
        "SupportedReportTypeV2": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "reportType": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                }
            }
        },
        "SupportedReportTypesV2": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SupportedReportTypeModelV2"
                    }
                },
                "links": {
                    "$ref": "#/definitions/Links"
                },
                "meta": {
                    "$ref": "#/definitions/MetaData"
                }
            }
        },
        "ControllerAttributesRO": {
            "type": "object",
            "properties": {
                "identifiers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/IdentifierRO"
                    }
                },
                "resourceState": {
                    "type": "string",
                    "description": "Nsi Resource State.",
                    "enum": [
                        "root",
                        "planned",
                        "discovered",
                        "plannedAndDiscovered",
                        "unknown"
                    ]
                },
                "displayData": {
                    "$ref": "#/definitions/FreDisplayDataRO"
                },
                "controllerDataPackage": {
                    "description": "These are the base Controller attributes that actual controller and expectation can extend.",
                    "$ref": "#/definitions/ControllerDataPackageRO"
                },
                "recoveryCharacteristics": {
                    "$ref": "#/definitions/RecoveryCharacteristicsRO"
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "resiliencyFlowsPackage": {
                    "type": "array",
                    "description": "Resiliency flow",
                    "items": {
                        "$ref": "#/definitions/ResiliencyFlowsPackageRO"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ControllerDataPackageRO": {
            "type": "object",
            "properties": {
                "controllerType": {
                    "type": "string",
                    "description": "controller type",
                    "enum": [
                        "switchController",
                        "configurationController"
                    ]
                },
                "protectionScheme": {
                    "type": "string",
                    "description": "protectionScheme",
                    "enum": [
                        "ONE_PLUS_ONE",
                        "ONE_FOR_ONE",
                        "LAG",
                        "TPT",
                        "OPS",
                        "CP_SNCP",
                        "NCP_SNCP",
                        "NONE"
                    ]
                },
                "protectionSchemeQualifier": {
                    "type": "string",
                    "description": "protectionScheme",
                    "enum": [
                        "ptpt",
                        "eqtpt",
                        "cp_sncp",
                        "ncp_sncp",
                        "aps"
                    ]
                },
                "switchRule": {
                    "type": "string",
                    "description": "switch (eg TPT) vs configuration (eg SNC)",
                    "enum": [
                        "nodalClientTPT"
                    ]
                },
                "profile": {
                    "type": "string",
                    "description": "The Group resource type",
                    "enum": [
                        "TPT_Port_6500",
                        "TPT_Eqpt_6500",
                        "OPS_6500",
                        "CP_SNCP",
                        "NCP_SNCP",
                        "APS"
                    ]
                },
                "isFrozen": {
                    "type": "boolean",
                    "description": "Temporarily prevents any switch action to be taken and, as such, freezes the current state",
                    "default": false
                },
                "isCoordinatingBothEnds": {
                    "type": "boolean",
                    "description": "if TRUE, the Controller is operating such that switching at both ends of each flow across the FC is coordinated at both ingress and egress ends ",
                    "default": false
                },
                "nativeName": {
                    "type": "string",
                    "description": "Native name of the controller"
                },
                "transponderTriggeredOps": {
                    "type": "string",
                    "description": "If Yes, the transponder triggered OPS feature is on. No means it's off."
                },
                "lossPower": {
                    "type": "string",
                    "description": "If Yes, there is power loss. No means there is no power loss."
                }
            }
        },
        "ControllerDataRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/ResourceMetaDataRO"
                },
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the Controller resource"
                },
                "type": {
                    "type": "string",
                    "description": "The Controller resource type",
                    "enum": [
                        "controllers",
                        "resiliencyController"
                    ]
                },
                "attributes": {
                    "description": "These are the Controller attributes.",
                    "$ref": "#/definitions/ControllerAttributesRO"
                },
                "relationships": {
                    "description": "These are the Controller Relationships.",
                    "$ref": "#/definitions/ControllerRelationshipsRO"
                }
            }
        },
        "ControllerExpectationAttributesRO": {
            "type": "object",
            "properties": {
                "validateParameters": {
                    "description": "Attribute containing the list of parameters (if any) to be validated against the expectation",
                    "$ref": "#/definitions/ValidateParametersRO"
                },
                "controllerDataPackage": {
                    "description": "These are the base Controller attributes that actual controller and expectation can extend.",
                    "$ref": "#/definitions/ControllerDataPackageRO"
                },
                "recoveryCharacteristics": {
                    "$ref": "#/definitions/RecoveryCharacteristicsRO"
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "resiliencyFlowsPackage": {
                    "type": "array",
                    "description": "Resiliency flow",
                    "items": {
                        "$ref": "#/definitions/ResiliencyFlowsPackageRO"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ControllerExpectationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the controller expectation"
                },
                "type": {
                    "type": "string",
                    "description": "The controller expectation type",
                    "enum": [
                        "controllerExpectations"
                    ]
                },
                "attributes": {
                    "description": "Expectation attributes to be kept by NSI.",
                    "$ref": "#/definitions/ControllerExpectationAttributesRO"
                },
                "relationships": {
                    "description": "These are the Controller Relationships.",
                    "$ref": "#/definitions/ControllerExpectationRelationshipsRO"
                }
            }
        },
        "ControllerExpectationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ControllerExpectationDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to a Controller, such as ControllerData, TPEData, FreData, SwitchData, ControllerExpectationData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "ControllerExpectationRelationshipsRO": {
            "type": "object",
            "properties": {
                "subordinateSwitches": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "selectableTPEs": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "ControllerListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ControllerDataRO"
                    }
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to a Controller, such as ControllerData, TPEData, FreData, SwitchData, ControllerExpectationData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "ControllerPlannedAttributesRO": {
            "type": "object",
            "properties": {
                "controllerDataPackage": {
                    "description": "These are the base Controller attributes that actual controller and expectation can extend.",
                    "$ref": "#/definitions/ControllerDataPackageRO"
                },
                "recoveryCharacteristics": {
                    "$ref": "#/definitions/RecoveryCharacteristicsRO"
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "resiliencyFlowsPackage": {
                    "type": "array",
                    "description": "Resiliency flow",
                    "items": {
                        "$ref": "#/definitions/ResiliencyFlowsPackageRO"
                    }
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition the NE belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ControllerPlannedDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the planned controller"
                },
                "type": {
                    "type": "string",
                    "description": "The controller planned type",
                    "enum": [
                        "controllerPlanned"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ControllerPlannedAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/ControllerPlannedRelationshipsRO"
                }
            }
        },
        "ControllerPlannedRelationshipsRO": {
            "type": "object",
            "properties": {
                "subordinateSwitches": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "selectableTPEs": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "ControllerRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "$ref": "#/definitions/ControllerDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to a Controller, such as ControllerData, TPEData, FreData, SwitchData, ControllerExpectationData",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "ControllerRelationshipsRO": {
            "type": "object",
            "properties": {
                "subordinateControllers": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "controllerExpectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "controllerDiscovered": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "controllerPlanned": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "subordinateSwitches": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "selectableTPEs": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "RecoveryCharacteristicsRO": {
            "type": "object",
            "properties": {
                "autoReversionPossible": {
                    "type": "boolean",
                    "description": "Auto reversion enabled value. ",
                    "default": false
                },
                "autoReversionType": {
                    "type": "string",
                    "description": "If autoReversionPossible, this type is the behaviour of that reversion, currently only delay is supported.",
                    "enum": [
                        "delay",
                        "timeOfDay"
                    ]
                },
                "waitToRevertDelay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The time delay for auto-reversion"
                },
                "reversionTimeUnit": {
                    "type": "string",
                    "description": "Unit of delay time for revert, default is seconds"
                },
                "waitToSwitchDelay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The time delay before switching off the active path when problem is detected"
                },
                "switchTimeUnit": {
                    "type": "string",
                    "description": "Unit of delay time before switching, default is seconds"
                },
                "onHome": {
                    "type": "boolean",
                    "description": "Flag indicating if currently on the home path",
                    "default": false
                },
                "homeAvailable": {
                    "type": "boolean",
                    "description": "Flag indicating if home path is currently available",
                    "default": false
                },
                "recoveryPriority": {
                    "type": "string",
                    "description": "Indicates the priority level",
                    "enum": [
                        "high",
                        "low"
                    ]
                },
                "timerDetectionGuard": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This timer is triggered when both members of a protection pair are in a clear state and one of the members detects a Signal Fail due to a likely upstream client side fault"
                },
                "timerDetectionGuardTimeUnit": {
                    "type": "string",
                    "description": "Unit of detection guard time, default is seconds"
                },
                "timerRecoveryGuard": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This timer is triggered when both members of a protection pair are in an Signal Fail (SF) state due to a common upstream client side defect and one of them detects the clearing of the SF"
                },
                "timerRecoveryGuardTimeUnit": {
                    "type": "string",
                    "description": "Unit of recovery guard time, default is seconds"
                },
                "signalingType": {
                    "type": "string",
                    "description": "Signaling type for the automatic protection switching.",
                    "enum": [
                        "PM",
                        "TCMLEVEL1",
                        "TCMLEVEL2",
                        "TCMLEVEL3",
                        "TCMLEVEL4",
                        "TCMLEVEL5",
                        "TCMLEVEL6"
                    ]
                },
                "todrTime": {
                    "type": "string",
                    "description": "Specifies the time of day to do reversion to the home path"
                },
                "todrTimePeriod": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Specifies the time period (in minutes) over which it is acceptable to do the TODR"
                },
                "todrTimePeriodUnit": {
                    "type": "string",
                    "description": "Unit of time period"
                },
                "todrHoldbackEnabled": {
                    "type": "boolean",
                    "description": "Specifies if time of day reversion holdback is enabled",
                    "default": false
                },
                "todrHoldbackPeriod": {
                    "type": "string",
                    "description": "Specifies the time of day reversion holdback period"
                },
                "holdbackThreshold": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Holdback signal degrade threshold"
                },
                "todrProfileList": {
                    "type": "string",
                    "description": "List of time of day reversion profiles that are associated with this PROTGRP"
                },
                "dataPathFaultAction": {
                    "type": "string",
                    "description": "Indicates whether an ALARM will be raised or MR will be done on SNC Datapath Fault.Default is ALARM"
                },
                "dataPathFaultAlarmTime": {
                    "type": "string",
                    "description": "Specifies in minutes how long to wait before raising the SNC datapath fault alarm."
                },
                "isArdEnabled": {
                    "type": "boolean",
                    "description": "Absolute route diversity",
                    "default": false
                },
                "holdOffTime": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Specifies the holdOffTime."
                },
                "holdOffTimeUnit": {
                    "type": "string",
                    "description": "Unit of hold off time"
                },
                "timerGuard": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Timer Guard is an evaluation guardtimer. It works both on the raising and clearing of a defect by inhibiting the evaluation of the conditions by the A/SNCP engine for the specified time."
                },
                "timerGuardTimeUnit": {
                    "type": "string",
                    "description": "Unit of timer guard."
                },
                "switchingProtocol": {
                    "type": "string",
                    "description": "Indicates whether the switching criteria applied to the protection group is SNC-I (Subnetwork Connection protection with Inherent monitoring), SNC-N (Subnetwork Connection protection with Non-intrusive monitoring), SNC-S (Subnetwork Connection protection with Sublayer monitoring).",
                    "enum": [
                        "SNC_I",
                        "SNC_N",
                        "SNC_S"
                    ]
                },
                "displayLabels": {
                    "description": "Display label key/value pair map",
                    "$ref": "#/definitions/DisplayLabelMapRO"
                }
            }
        },
        "ResiliencyFlowsPackageRO": {
            "type": "object",
            "properties": {
                "flowType": {
                    "type": "string",
                    "enum": [
                        "CommonIngress"
                    ]
                },
                "flowSelection": {
                    "type": "string",
                    "description": "flowSelect",
                    "enum": [
                        "working",
                        "protecting"
                    ]
                },
                "selectionReason": {
                    "type": "string",
                    "enum": [
                        "normal",
                        "manual",
                        "protection"
                    ]
                }
            }
        },
        "RaCtrlListRO": {
            "type": "object",
            "properties": {
                "nextPageToken": {
                    "type": "string"
                },
                "kind": {
                    "type": "string"
                },
                "itemsAvailable": {
                    "type": "integer",
                    "format": "int32"
                },
                "items": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "ProjectAttributesRO": {
            "type": "object",
            "properties": {
                "summary": {
                    "type": "string",
                    "description": "Project top-level/overall summary status message"
                },
                "lastUpdatedTime": {
                    "type": "string",
                    "description": "The last time the project was updated, represented in ISO-8601 date-time format"
                }
            }
        },
        "ProjectDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the SMO project"
                },
                "type": {
                    "type": "string",
                    "description": "The SMO project resource type",
                    "enum": [
                        "SMO_PROJECTS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ProjectAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/ProjectRelationshipsRO"
                }
            }
        },
        "ProjectListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "An array of SMO Projects",
                    "items": {
                        "$ref": "#/definitions/ProjectDataRO"
                    }
                }
            }
        },
        "ProjectRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ProjectDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to a SMO Project, such as ServiceData, etc.",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "ProjectRelationshipsRO": {
            "type": "object",
            "properties": {
                "srcFre": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "smoServices": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "ServiceAttributesRO": {
            "type": "object",
            "properties": {
                "displayData": {
                    "$ref": "#/definitions/ServiceDisplayDataRO"
                },
                "state": {
                    "type": "string",
                    "description": "Enumeration of the various SMO Service move life cycle states",
                    "enum": [
                        "PENDING",
                        "RECALCULATE_PATH",
                        "PENDING_PATH_CALCULATION",
                        "CALCULATING_PATH",
                        "FOUND_PATH",
                        "NO_PATH_FOUND",
                        "UNSUPPORTED",
                        "REVERT",
                        "REVERTING",
                        "REVERTED",
                        "REVERT_FAILED",
                        "RESTORE",
                        "RESTORING",
                        "RESTORED",
                        "RESTORE_FAILED",
                        "DELETING"
                    ]
                },
                "statusMessage": {
                    "type": "string",
                    "description": "Additional details pertaining to the move - information about the current step and/or any failure conditions"
                },
                "statusSummary": {
                    "type": "string",
                    "description": "If set, will show the move progress stage e.g. `Step X of Y`"
                },
                "onHomePath": {
                    "type": "boolean",
                    "description": "An indicator to flag when if the service is currently on its home path",
                    "default": false
                }
            }
        },
        "ServiceDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the SMO service"
                },
                "type": {
                    "type": "string",
                    "description": "The SMO service resource type",
                    "enum": [
                        "SMO_SERVICES"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ServiceAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/ServiceRelationshipsRO"
                }
            }
        },
        "ServiceDisplayDataRO": {
            "type": "object",
            "properties": {
                "displayState": {
                    "type": "string",
                    "description": "A UI-friendly consolidated version of data.attributes.state"
                }
            }
        },
        "ServicePatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on an smo service resource",
                    "enum": [
                        "REPLACE"
                    ]
                },
                "path": {
                    "type": "string",
                    "description": "path of the object/attribute to be patched"
                },
                "value": {
                    "type": "string",
                    "description": "new desired value for the attribute specified in the path."
                },
                "ids": {
                    "type": "array",
                    "description": "Used to target specific services; if empty/unspecified, it's assumed all services are being targeted",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ServicePatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServicePatchOperationRO"
                    }
                }
            }
        },
        "ServiceRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ServiceDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Resources related to an SMO Service, such as servicePaths, etc.",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "ServiceRelationshipsRO": {
            "type": "object",
            "properties": {
                "fre": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "servicePath": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "AfiSafiNextHopSelf": {
            "type": "object",
            "properties": {
                "configured": {
                    "type": "boolean",
                    "description": "true/false depending on if nbr is added as route reflector client for afi and safi",
                    "default": false
                },
                "excludeReflectedRoutes": {
                    "type": "boolean",
                    "description": "true/false depending on if nbr is added as route reflector client for afi and safi",
                    "default": false
                }
            }
        },
        "AfiSafiOrf": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Outbound Route Filtering type"
                },
                "direction": {
                    "type": "string",
                    "description": "Outbound Route Filtering direction",
                    "enum": [
                        "rx",
                        "tx",
                        "both"
                    ]
                }
            }
        },
        "AfiSafiPrefixList": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name to filter BGP advertisements."
                },
                "direction": {
                    "type": "string",
                    "description": "Direction to filter BGP advertisements.",
                    "enum": [
                        "in",
                        "out"
                    ]
                }
            }
        },
        "ClassOfServices": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Name of the class of service",
                    "enum": [
                        "CRITICAL",
                        "NETWORK",
                        "PREMIUM",
                        "PLATINUM",
                        "GOLD",
                        "SILVER",
                        "BRONZE",
                        "STANDARD"
                    ]
                },
                "bandwidthProfileName": {
                    "type": "string",
                    "description": "Name of the Bandwidth Profile"
                },
                "bandwidthProfileIndex": {
                    "type": "string",
                    "description": "Index number of the Bandwidth Profile"
                }
            }
        },
        "Constraints": {
            "type": "object",
            "properties": {
                "includeRouteObjects": {
                    "type": "array",
                    "description": "List of Route Objects to be included in the route calculation.",
                    "items": {
                        "$ref": "#/definitions/RouteObject"
                    }
                },
                "excludeRouteObjects": {
                    "type": "array",
                    "description": "List of Route Objects to be excluded from the route calculation.",
                    "items": {
                        "$ref": "#/definitions/RouteObject"
                    }
                },
                "customerCode": {
                    "description": "Customer Code constraint as applicable for Design Request",
                    "$ref": "#/definitions/CustomerCodeObject"
                },
                "diverseObjects": {
                    "description": "Resource to define objects diverse from the route calculation.",
                    "$ref": "#/definitions/DiversityObject"
                },
                "coRoutedService": {
                    "type": "string",
                    "description": "Co-routes the service with an existing service."
                }
            }
        },
        "CustomerCodeObject": {
            "type": "object",
            "properties": {
                "codes": {
                    "type": "array",
                    "description": "List of CustomerCode in decreasing order of priority",
                    "items": {
                        "type": "string"
                    }
                },
                "unorderedList": {
                    "type": "boolean",
                    "description": "Attribute to specify that code list is unordered.",
                    "default": false
                }
            }
        },
        "DeviceAlias": {
            "type": "object",
            "properties": {
                "aliasType": {
                    "type": "string",
                    "description": "The type of this device alias instance.",
                    "enum": [
                        "TID",
                        "IP_ADDRESS",
                        "MAC_ADDRESS",
                        "PLANNING_ID",
                        "CUSTOM"
                    ]
                },
                "name": {
                    "type": "string",
                    "description": "The text representation of this device alias."
                },
                "patternFormat": {
                    "type": "string",
                    "description": "An optional regex pattern for custom alias."
                }
            }
        },
        "Diagnostic": {
            "type": "object",
            "properties": {
                "diagnosticType": {
                    "type": "string",
                    "enum": [
                        "PM_TEST"
                    ]
                },
                "pmType": {
                    "type": "string",
                    "enum": [
                        "PREFEC_BER",
                        "PM_RESET_UNTIMED",
                        "PM_RESET_BASELINE"
                    ]
                },
                "degradeThreshold": {
                    "type": "number",
                    "format": "double",
                    "description": "(Optional) The pre-FEC BER lower threshold"
                },
                "failThreshold": {
                    "type": "number",
                    "format": "double",
                    "description": "(Optional) The pre-FEC BER higher threshold"
                }
            }
        },
        "DiagnosticStatus": {
            "type": "object",
            "properties": {
                "diagnosticType": {
                    "type": "string",
                    "enum": [
                        "PM_TEST"
                    ]
                },
                "pmType": {
                    "type": "string",
                    "enum": [
                        "PREFEC_BER",
                        "PM_RESET_UNTIMED",
                        "PM_RESET_BASELINE"
                    ]
                },
                "state": {
                    "type": "string",
                    "description": "State of the Diagnostic Test",
                    "enum": [
                        "WAITING_FOR_ACTIVATED_SERVICE",
                        "WAITING_FOR_SERVICE_TRAFFIC",
                        "IN_PROGRESS",
                        "ERROR",
                        "PASS",
                        "FAIL",
                        "MARGINAL"
                    ]
                }
            }
        },
        "DiagnosticStatuses": {
            "type": "object",
            "properties": {
                "diagnosticStatuses": {
                    "type": "array",
                    "description": "A status list of performance monitoring (PM) and diagnostic tests",
                    "items": {
                        "$ref": "#/definitions/DiagnosticStatus"
                    }
                }
            }
        },
        "Diagnostics": {
            "type": "object",
            "properties": {
                "diagnostics": {
                    "type": "array",
                    "description": "A list of performance monitoring (PM) and diagnostic tests",
                    "items": {
                        "$ref": "#/definitions/Diagnostic"
                    }
                }
            }
        },
        "DiversityObject": {
            "type": "object",
            "properties": {
                "srlgDiverse": {
                    "type": "boolean",
                    "description": "Attribute to specify SRLG diversity.",
                    "default": false
                },
                "siteDiverse": {
                    "type": "boolean",
                    "description": "Attribute to specify site diversity.",
                    "default": false
                },
                "nodeDiverse": {
                    "type": "boolean",
                    "description": "Attribute to specify node diversity.",
                    "default": false
                },
                "existingService": {
                    "type": "array",
                    "description": "The existing service user label list.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "Header": {
            "type": "object",
            "properties": {
                "elements": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/HeaderElement"
                    }
                },
                "name": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "HeaderElement": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                },
                "parameterCount": {
                    "type": "integer",
                    "format": "int32"
                },
                "parameters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NameValuePair"
                    }
                }
            }
        },
        "HttpEntity": {
            "type": "object",
            "properties": {
                "contentLength": {
                    "type": "integer",
                    "format": "int64"
                },
                "contentType": {
                    "$ref": "#/definitions/Header"
                },
                "contentEncoding": {
                    "$ref": "#/definitions/Header"
                },
                "repeatable": {
                    "type": "boolean",
                    "default": false
                },
                "chunked": {
                    "type": "boolean",
                    "default": false
                },
                "streaming": {
                    "type": "boolean",
                    "default": false
                },
                "content": {
                    "$ref": "#/definitions/InputStream"
                }
            }
        },
        "HttpParams": {
            "type": "object"
        },
        "HttpResponse": {
            "type": "object",
            "properties": {
                "locale": {
                    "$ref": "#/definitions/Locale"
                },
                "statusLine": {
                    "$ref": "#/definitions/StatusLine"
                },
                "entity": {
                    "$ref": "#/definitions/HttpEntity"
                },
                "allHeaders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Header"
                    }
                },
                "protocolVersion": {
                    "$ref": "#/definitions/ProtocolVersion"
                },
                "params": {
                    "$ref": "#/definitions/HttpParams"
                }
            }
        },
        "InputStream": {
            "type": "object"
        },
        "Locale": {
            "type": "object",
            "properties": {
                "language": {
                    "type": "string"
                },
                "script": {
                    "type": "string"
                },
                "country": {
                    "type": "string"
                },
                "variant": {
                    "type": "string"
                },
                "extensionKeys": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "unicodeLocaleAttributes": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "unicodeLocaleKeys": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "iso3Language": {
                    "type": "string"
                },
                "iso3Country": {
                    "type": "string"
                },
                "displayLanguage": {
                    "type": "string"
                },
                "displayScript": {
                    "type": "string"
                },
                "displayCountry": {
                    "type": "string"
                },
                "displayVariant": {
                    "type": "string"
                },
                "displayName": {
                    "type": "string"
                }
            }
        },
        "Location": {
            "type": "object"
        },
        "LocationAddress": {
            "type": "object",
            "properties": {
                "key": {
                    "type": "string",
                    "description": "The type of the address location.",
                    "enum": [
                        "RACK",
                        "SHELF",
                        "SUBSHELF",
                        "SLOT",
                        "SUBSLOT",
                        "PORT"
                    ]
                },
                "value": {
                    "type": "string",
                    "description": "int or character value as appropriate to the associated entity and field."
                },
                "pattern": {
                    "type": "string",
                    "description": "optional regex or delimiter value to parse multi-valued subslot string."
                }
            }
        },
        "MsgsLastError": {
            "type": "object",
            "properties": {
                "errorCode": {
                    "type": "string",
                    "description": "Error code for last error"
                },
                "errorSubCode": {
                    "type": "string",
                    "description": "Sub error code for last error"
                }
            }
        },
        "NameValuePair": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            }
        },
        "PreemptionBandwidth": {
            "type": "object",
            "properties": {
                "extraTraffic": {
                    "$ref": "#/definitions/PreemptionBandwidthData"
                },
                "preemptable": {
                    "$ref": "#/definitions/PreemptionBandwidthData"
                },
                "nonPreemptable": {
                    "$ref": "#/definitions/PreemptionBandwidthData"
                }
            }
        },
        "PreemptionBandwidthData": {
            "type": "object",
            "properties": {
                "ODU0": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                },
                "ODU1": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                },
                "ODU2": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                },
                "ODU2E": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                },
                "ODU3": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                },
                "ODU4": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                },
                "ODUFLEXRSZ": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                },
                "ODUFLEXNRSZ": {
                    "description": "This package stores the general bandwidth information.",
                    "$ref": "#/definitions/Bw"
                }
            }
        },
        "ProtocolVersion": {
            "type": "object",
            "properties": {
                "protocol": {
                    "type": "string"
                },
                "major": {
                    "type": "integer",
                    "format": "int32"
                },
                "minor": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "RouteObject": {
            "type": "object",
            "properties": {
                "routeObjectType": {
                    "type": "string",
                    "description": "The attribute defining the route type.",
                    "enum": [
                        "TERMINATION_POINT_NAME",
                        "ROADM_LINE_NAME",
                        "NODE_NAME",
                        "SITE_NAME",
                        "CONTROL_PLANE",
                        "FREQUENCY",
                        "SNCG",
                        "SNC",
                        "SNCG_STATE"
                    ]
                },
                "terminationPointName": {
                    "description": "Specifies the location of an endpoint.",
                    "$ref": "#/definitions/TerminationPointName"
                },
                "roadmLineName": {
                    "type": "string",
                    "description": "The ROADM Line Name. The routeObjectType attribute must be set to ROADM_LINE_NAME."
                },
                "nodeName": {
                    "type": "string",
                    "description": "The Node/ROADM/Network Construct Name. The routeObjectType attribute must be set to NODE_NAME."
                },
                "siteName": {
                    "type": "string",
                    "description": "The Site Name. The routeObjectType attribute must be set to SITE_NAME."
                },
                "controlPlane": {
                    "type": "string",
                    "description": "Technology layer of the control plane.",
                    "enum": [
                        "L_0"
                    ]
                },
                "frequency": {
                    "type": "string",
                    "description": "L0 frequency. The routeObjectType attribute must be set to FREQUENCY."
                },
                "sncg": {
                    "type": "string",
                    "description": "SNCG id. The routeObjectType attribute must be set to SNCG."
                },
                "snc": {
                    "type": "string",
                    "description": "SNC id. The routeObjectType attribute must be set to SNC."
                },
                "sncgState": {
                    "type": "string",
                    "description": "Attribute defining the SNCG State.",
                    "enum": [
                        "IS",
                        "OOS"
                    ]
                }
            }
        },
        "ServiceAlias": {
            "type": "object",
            "properties": {
                "aliasType": {
                    "type": "string",
                    "description": "<br/>CLFI - Common Language Facility code<br/>DISTINGUISHED_NAME - Distinguished Alias Name<br/>MANAGEMENT_NAME - the CESD VS name",
                    "enum": [
                        "CLFI",
                        "DISTINGUISHED_NAME",
                        "MANAGEMENT_NAME"
                    ]
                },
                "name": {
                    "type": "string",
                    "description": "The free string name value associated with selected aliasType."
                }
            }
        },
        "ServiceIntentEndPoint": {
            "type": "object",
            "properties": {
                "networkElement": {
                    "description": "Data associated with a particular network element.",
                    "$ref": "#/definitions/NetworkElement"
                },
                "shelf": {
                    "type": "string",
                    "description": "Optional node shelf location identifier."
                },
                "slot": {
                    "type": "string",
                    "description": "Optional node slot location identifier."
                },
                "port": {
                    "type": "string",
                    "description": "The node port location identifier."
                },
                "subport": {
                    "type": "string",
                    "description": "The node subport location identifier"
                },
                "eqptGrp": {
                    "type": "string",
                    "description": "The node Equipment Group location identifier"
                },
                "lspName": {
                    "type": "string",
                    "description": "The name of the label switch path ids(unique) of the service to be created and activated"
                },
                "pseudoWireId": {
                    "type": "string",
                    "description": "The name of the pseudoWireId(unique) of the MPLS service to be created and activated"
                },
                "tunnelRole": {
                    "type": "string",
                    "description": "Role of the MPLS tunnel headEnd or tailEnd",
                    "enum": [
                        "headEnd",
                        "tailEnd"
                    ]
                },
                "protectionRole": {
                    "type": "string",
                    "description": "Role of the MPLS protection primary or backup",
                    "enum": [
                        "primary",
                        "backup"
                    ]
                },
                "layerTerminations": {
                    "type": "array",
                    "description": "Transmission parameters to be provisioned on TPE layer terminations.",
                    "items": {
                        "$ref": "#/definitions/LayerTermination"
                    }
                },
                "interfaceType": {
                    "type": "string",
                    "description": "Convenient instruction to identify the endpoint role.",
                    "enum": [
                        "UNI"
                    ]
                }
            }
        },
        "ServiceIntentRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Resource to specify intent to design and fulfill one service.",
                    "$ref": "#/definitions/ServiceIntentRequestData"
                }
            }
        },
        "ServiceIntentRequestAttributes": {
            "type": "object",
            "properties": {
                "turnUpDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The optional time when the service is to be activated. If omitted the service shall be activated immediately (now)."
                },
                "turnDownDateTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The optional time when the service is to be de-activated. If omitted the service shall remain activated until explicit deletion."
                },
                "aliasNames": {
                    "type": "array",
                    "description": "One or more alias names that identify the service to be created and activated.",
                    "items": {
                        "$ref": "#/definitions/ServiceAlias"
                    }
                },
                "label": {
                    "type": "string",
                    "description": "The user label (not necessarily unique) of the service to be created and activated."
                },
                "directionality": {
                    "type": "string",
                    "description": "Indicates if the FRE is unidirectional or bidirectional.",
                    "enum": [
                        "bidirectional",
                        "unidirectional"
                    ]
                },
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "evcPortType": {
                    "type": "string",
                    "description": "Convenient instruction about handling endpoint data (e.g. ETHERNET differentiates EPL from EVPL via CVID).",
                    "enum": [
                        "MAPPED",
                        "TRANSPARENT"
                    ]
                },
                "endPoints": {
                    "type": "array",
                    "description": "All the endpoints involved in the definition of the service. Two instances must always be defined based on supported service type.",
                    "items": {
                        "$ref": "#/definitions/ServiceIntentEndPoint"
                    }
                },
                "constraints": {
                    "description": "Set of various constraints used to configure the service intent.",
                    "$ref": "#/definitions/Constraints"
                },
                "postActivationTests": {
                    "$ref": "#/definitions/Diagnostics"
                }
            }
        },
        "ServiceIntentRequestData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "description": "Attributes of the Service Intent Request. All supported services are PointToPoint at this time.",
                    "$ref": "#/definitions/ServiceIntentRequestAttributes"
                }
            }
        },
        "ServiceIntentResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The Service Intent Response data resource.",
                    "$ref": "#/definitions/ServiceIntentResponseData"
                }
            }
        },
        "ServiceIntentResponseArray": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "Array containing all Service Intent Response Data obtained from the request.",
                    "items": {
                        "$ref": "#/definitions/ServiceIntentResponseData"
                    }
                }
            }
        },
        "ServiceIntentResponseAttributes": {
            "type": "object",
            "properties": {
                "creationTime": {
                    "type": "string",
                    "format": "date-time",
                    "description": "The time at which the service intent was created."
                },
                "intentState": {
                    "type": "string",
                    "description": "The current state of the service intent."
                },
                "supportingServices": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "request": {
                    "description": "Resource to specify intent to design and fulfill one service.",
                    "$ref": "#/definitions/ServiceIntentRequestData"
                },
                "discovered": {
                    "type": "boolean",
                    "description": "True if the Service Intent was discovered/promoted from the network.",
                    "default": false
                },
                "postActivationTestStatus": {
                    "$ref": "#/definitions/DiagnosticStatuses"
                }
            }
        },
        "ServiceIntentResponseData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the service intent."
                },
                "type": {
                    "type": "string",
                    "description": "The type of the service intent."
                },
                "attributes": {
                    "description": "Attributes of the Service Intent Response.",
                    "$ref": "#/definitions/ServiceIntentResponseAttributes"
                }
            }
        },
        "ServiceIntentRoute": {
            "type": "object",
            "properties": {
                "aToZRoute": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceIntentRouteLink"
                    }
                },
                "zToARoute": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceIntentRouteLink"
                    }
                },
                "supportingRoadmLines": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "sharedRiskLinkGroupNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ServiceIntentRouteAttributes": {
            "type": "object",
            "properties": {
                "aToZRoute": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceIntentRouteLink"
                    }
                },
                "zToARoute": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ServiceIntentRouteLink"
                    }
                },
                "supportingRoadmLines": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "sharedRiskLinkGroupNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ServiceIntentRouteData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Service Intent ID."
                },
                "type": {
                    "type": "string",
                    "description": "The object type: serviceIntentRoute."
                },
                "attributes": {
                    "description": "Attributes of the Service Intent Route.",
                    "$ref": "#/definitions/ServiceIntentRouteAttributes"
                }
            }
        },
        "ServiceIntentRouteLink": {
            "type": "object",
            "properties": {
                "aPoint": {
                    "description": "Specifies the location of a link endpoint.",
                    "$ref": "#/definitions/ServiceIntentRouteLinkEndPoint"
                },
                "zPoint": {
                    "description": "Specifies the location of a link endpoint.",
                    "$ref": "#/definitions/ServiceIntentRouteLinkEndPoint"
                },
                "directionality": {
                    "type": "string",
                    "description": "Describes the directionality of the routes traffic flow.",
                    "enum": [
                        "UNIDIRECTIONAL",
                        "BIDIRECTIONAL"
                    ]
                },
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                }
            }
        },
        "ServiceIntentRouteLinkEndPoint": {
            "type": "object",
            "properties": {
                "networkElementName": {
                    "type": "string",
                    "description": "Identification of the node using its natural name from the NE NBI protocol (e.g. TID for TL1, sysName for SAOS)."
                },
                "shelf": {
                    "type": "string",
                    "description": "Optional shelf location identifier."
                },
                "slot": {
                    "type": "string",
                    "description": "Optional slot location identifier."
                },
                "port": {
                    "type": "string",
                    "description": "The port location identifier."
                },
                "wavelength": {
                    "type": "string",
                    "description": "The wavelength location identifier."
                }
            }
        },
        "ServiceIntentRoutes": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The Service Intent Routes Data Resource.",
                    "$ref": "#/definitions/ServiceIntentRoutesData"
                }
            }
        },
        "ServiceIntentRoutesAttributes": {
            "type": "object",
            "properties": {
                "routes": {
                    "description": "Service Intent Route.",
                    "$ref": "#/definitions/ServiceIntentRoute"
                }
            }
        },
        "ServiceIntentRoutesData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Service Intent ID."
                },
                "type": {
                    "type": "string",
                    "description": "The object type: serviceIntentRoutes."
                },
                "attributes": {
                    "description": "Resource containing information pertaining to the routes of the Service Intent.",
                    "$ref": "#/definitions/ServiceIntentRoutesAttributes"
                }
            }
        },
        "StatusLine": {
            "type": "object",
            "properties": {
                "statusCode": {
                    "type": "integer",
                    "format": "int32"
                },
                "protocolVersion": {
                    "$ref": "#/definitions/ProtocolVersion"
                },
                "reasonPhrase": {
                    "type": "string"
                }
            }
        },
        "TerminationPointName": {
            "type": "object",
            "properties": {
                "deviceAlias": {
                    "$ref": "#/definitions/DeviceAlias"
                },
                "location": {
                    "description": "A location object describes the location an entity in the network (Equipment, FRE, TPE, etc.). The amount of address data required to precisely reflect the position of an entity in the network is dependent on the entity in question (i.e. TPEs typically require more information then equipment). Location is typically used in conjunction with a network element identifier to uniquely identify position within a network.",
                    "$ref": "#/definitions/Location"
                }
            }
        },
        "(service-operation)input": {
            "properties": {
                "bp-tenant-id": {
                    "type": "string"
                },
                "service-intent-id": {
                    "type": "string"
                }
            },
            "type": "object"
        },
        "ServiceTrailResponse": {
            "type": "object"
        },
        "SimplePortTrailResponse": {
            "type": "object"
        },
        "tapi.ciena.EmbeddedEthernetAttributes": {
            "type": "object",
            "properties": {
                "bit-rate": {
                    "type": "integer",
                    "format": "int64",
                    "description": "none"
                },
                "trib-slots": {
                    "type": "integer",
                    "description": "none"
                },
                "line-rate": {
                    "type": "string",
                    "description": "none"
                }
            }
        },
        "tapi.ciena.alternativePhysicalRouteExt": {
            "type": "object",
            "properties": {
                "alternativePhysicalRoute": {
                    "$ref": "#/definitions/tapi.ciena.alternativePhysicalRouteExt.PhysicalRoute"
                }
            }
        },
        "tapi.ciena.alternativePhysicalRouteExt.PhysicalRoute": {
            "type": "object",
            "properties": {
                "routePurpose": {
                    "type": "string"
                },
                "unidirectionalPhysicalRoute": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.ciena.alternativePhysicalRouteExt.UnidirectionalPhysicalRoute"
                    }
                }
            }
        },
        "tapi.ciena.alternativePhysicalRouteExt.UnidirectionalPhysicalRoute": {
            "type": "object",
            "properties": {
                "equipmentPortPair": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.ciena.alternativePhysicalRouteExt.EquipmentUsed"
                    }
                },
                "routeRole": {
                    "type": "string"
                },
                "localId": {
                    "type": "string"
                },
                "name": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.common.NameAndValue"
                    }
                }
            }
        },
        "tapi.ciena.alternativePhysicalRouteExt.EquipmentUsed": {
            "type": "object",
            "properties": {
                "deviceName": {
                    "type": "string"
                },
                "deviceUuid": {
                    "type": "string"
                },
                "equipmentLocalAddress": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.common.NameAndValue"
                    }
                },
                "equipmentUuid": {
                    "type": "string"
                },
                "ingress": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.ciena.alternativePhysicalRouteExt.ConnectorPinDetails"
                    }
                },
                "egress": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.ciena.alternativePhysicalRouteExt.ConnectorPinDetails"
                    }
                }
            }
        },
        "tapi.ciena.alternativePhysicalRouteExt.ConnectorPinDetails": {
            "type": "object",
            "properties": {
                "connectorIdentification": {
                    "type": "string"
                },
                "pinIdentification": {
                    "type": "string"
                }
            }
        },
        "tapi.ciena.AdjacencyPackage": {
            "type": "object",
            "properties": {
                "adjacencyPackage": {
                    "type": "object",
                    "properties": {
                        "adjacencyType": {
                            "type": "string"
                        },
                        "localTag": {
                            "type": "string"
                        },
                        "provisionedRemoteTag": {
                            "type": "string"
                        },
                        "remoteTag": {
                            "type": "string"
                        },
                        "remoteTagFormat": {
                            "type": "string"
                        },
                        "topologySourceTag": {
                            "type": "string"
                        },
                        "linkAttributes": {
                            "type": "object",
                            "properties": {
                                "userLabel": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "tapi.ciena.LLDPSnoop": {
            "type": "object",
            "properties": {
                "lldpSnoop": {
                    "$ref": "#/definitions/tapi.ciena.LLDPExtensions"
                }
            }
        },
        "tapi.ciena.LLDPExtensions": {
            "type": "object",
            "properties": {
                "remotePortId": {
                    "type": "string"
                },
                "remoteChassisId": {
                    "type": "string"
                },
                "tagVersion": {
                    "type": "string"
                },
                "systemDescription": {
                    "type": "string"
                },
                "remoteIpAddress": {
                    "type": "string"
                },
                "systemName": {
                    "type": "string"
                }
            }
        },
        "deeppaging.connection.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.connection.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.connection.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.connectivity.Connection"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.connectivity-service.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.connectivity-service.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.connectivity-service.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.connectivity.ConnectivityService"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.service-interface-point.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.service-interface-point.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.service-interface-point.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.common.ServiceInterfacePoint"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.link.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.link.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.link.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.topology.Link"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.node.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.node.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.node.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.topology.topology.Node"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.node-edge-point.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.node-edge-point.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.node-edge-point.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.topology.node.OwnedNodeEdgePoint"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.connection-end-point.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.connection-end-point.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.connection-end-point.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.connectivity.CepList"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.device.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.device.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.device.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.equipment.Device"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.equipment.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.equipment.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.equipment.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.equipment.Equipment"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "deeppaging.equipmentholder.Response": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/deeppaging.equipmentholder.Data"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "next": {
                            "type": "string",
                            "description": "Token for next page request along with resource path"
                        },
                        "current": {
                            "type": "string",
                            "description": "Current resource path and URL query string"
                        }
                    }
                }
            }
        },
        "deeppaging.equipmentholder.Data": {
            "type": "object",
            "properties": {
                "event_type": {
                    "type": "string",
                    "enum": [
                        "ResourceSnapshot",
                        "ResourceDelete"
                    ]
                },
                "object_data": {
                    "$ref": "#/definitions/tapi.equipment.Holder"
                },
                "object_id": {
                    "type": "string",
                    "description": "TAPI UUID"
                },
                "object_type": {
                    "type": "string"
                },
                "version": {
                    "type": "string",
                    "description": "TAPI version"
                }
            }
        },
        "tapi.ciena.LinkExtensions": {
            "type": "object",
            "properties": {
                "signalContentType": {
                    "type": "string"
                }
            }
        },
        "tapi.ciena.ConnectionExtensions": {
            "type": "object",
            "properties": {
                "service-class": {
                    "type": "string"
                },
                "signal-content-type": {
                    "type": "string"
                },
                "layer-qualifier": {
                    "type": "string"
                },
                "direct-server-connection": {
                    "type": "array",
                    "description": "A connection (x) may be supported by one or more server layer top level connections.\n              A sever layer top level connection (direct server connection) supports a link that provides the adjacency between the nodes that\n              support the connection (x).\n              A node supporting the connection (x) may support a lower-connection of connection (x) or it may simply support a CEP that\n              terminates the connection (x).\n              The combination of the direct-server-connection list and the lower-connection list provides a detailed description of the route\n              of connection (x).\n              Each top level connection listed in the direct-server-connection list may also provide a list of its direct-server-connections.\n              Recursing through direct-server-connection of direct-server-connections enables rapid layer navigation.",
                    "items": {
                        "$ref": "#/definitions/tapi.connectivity.ConnectionRef"
                    }
                }
            }
        },
        "tapi.ciena.ConnectionEndPointExtensions": {
            "type": "object",
            "properties": {
                "signalContentType": {
                    "type": "string"
                },
                "interfaceType": {
                    "type": "string"
                },
                "additionalAttributes": {
                    "type": "object"
                }
            }
        },
        "tapi.ciena.NodeExtensions": {
            "type": "object",
            "properties": {
                "sync-state": {
                    "type": "string",
                    "enum": [
                        "NOT_SYNCHRONIZED",
                        "SYNCHRONIZING",
                        "SYNCHRONIZED",
                        "FAILED",
                        "ABORTED",
                        "DELETING",
                        "DELETE_FAILED",
                        "TIMEOUT"
                    ]
                }
            }
        },
        "tapi.ciena.PhotonicConnectivityServiceEndpointExtensions": {
            "type": "object",
            "properties": {
                "photonic-interface-point": {
                    "description": "photonic NE interface point",
                    "$ref": "#/definitions/tapi.common.ServiceInterfacePointRef"
                },
                "signal-conditioning": {
                    "type": "string",
                    "enum": [
                        "LASERSHUTOFF",
                        "NONE",
                        "NA"
                    ]
                },
                "ains": {
                    "type": "string",
                    "enum": [
                        "ACTIVE",
                        "INACTIVE",
                        "NA"
                    ]
                }
            }
        },
        "tapi.ciena.ConnectivityServiceExtensions": {
            "type": "object",
            "properties": {
                "center-frequency": {
                    "type": "number",
                    "description": "Requested Center Frequency"
                },
                "maximize-capacity": {
                    "type": "boolean",
                    "description": "Maximize capacity for single photonic service"
                },
                "spectral-assign-option": {
                    "type": "string",
                    "enum": [
                        "SPECTRUM_SPREAD",
                        "PACK_LOW",
                        "PACK_HIGH"
                    ]
                },
                "deployment-state": {
                    "type": "string",
                    "enum": [
                        "PARTIALLY_DEFINED",
                        "DEFINED_AND_VIABLE",
                        "READY_TO_DEPLOY",
                        "DEPLOYMENT_IN_PROGRESS",
                        "INCOMPLETE_DEPLOYMENT",
                        "INCOMPLETE_NOT_READY",
                        "INCOMPLETE_NOT_READY_CONFLICT",
                        "INCOMPLETE_READY_BEST_EFFORT",
                        "COMPLETE_FULLY_READY",
                        "UNDEPLOYMENT_IN_PROGRESS",
                        "INCOMPLETE_UNDEPLOYMENT",
                        "UNDEPLOYED",
                        "WAITING_TO_ADOPT"
                    ]
                },
                "osrp-enabled": {
                    "type": "boolean",
                    "description": "none",
                    "default": false
                },
                "last-error-msg": {
                    "type": "string",
                    "description": "outcome of last provisioning or routing operation. Blank if no errors occured"
                },
                "service-type-constraint": {
                    "type": "string",
                    "description": "For L1 service specifies whether the service should be switched or non-switched service",
                    "enum": [
                        "SWITCHED",
                        "NON_SWITCHED"
                    ]
                },
                "restoration-path-diversity-exclusion": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.connectivity.ConnectionRef"
                    }
                },
                "restoration-path-include-node": {
                    "type": "array",
                    "description": "This is a loose constraint - that is it is unordered and could be a partial list",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.NodeRef"
                    }
                },
                "restoration-path-exclude-node": {
                    "type": "array",
                    "description": "This is a loose constraint - that is it is unordered and could be a partial list",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.NodeRef"
                    }
                },
                "protecting-restoration-path-include-node": {
                    "type": "array",
                    "description": "This is a loose constraint - that is it is unordered and could be a partial list",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.NodeRef"
                    }
                },
                "protecting-restoration-path-exclude-node": {
                    "type": "array",
                    "description": "This is a loose constraint - that is it is unordered and could be a partial list",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.NodeRef"
                    }
                },
                "protecting-include-node": {
                    "type": "array",
                    "description": "This is a loose constraint - that is it is unordered and could be a partial list",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.NodeRef"
                    }
                },
                "protecting-exclude-node": {
                    "type": "array",
                    "description": "This is a loose constraint - that is it is unordered and could be a partial list",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.NodeRef"
                    }
                }
            }
        },
        "tapi.common.AdminStatePac": {
            "type": "object",
            "properties": {
                "operational-state": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.OperationalState"
                },
                "lifecycle-state": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.LifecycleState"
                },
                "administrative-state": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.AdministrativeState"
                }
            }
        },
        "tapi.common.AdministrativeState": {
            "type": "string",
            "enum": [
                "LOCKED",
                "UNLOCKED"
            ]
        },
        "tapi.common.Capacity": {
            "type": "object",
            "properties": {
                "total-size": {
                    "description": "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate.",
                    "$ref": "#/definitions/tapi.common.CapacityValue"
                },
                "is-for-multiple-routes": {
                    "type": "boolean",
                    "default": false
                },
                "baudRate": {
                    "type": "string",
                    "enum": [
                        "35GBAUD",
                        "56GBAUD"
                    ]
                }
            }
        },
        "tapi.common.CapacityPac": {
            "type": "object",
            "properties": {
                "available-capacity": {
                    "description": "Capacity available to be assigned.",
                    "$ref": "#/definitions/tapi.common.Capacity"
                },
                "total-potential-capacity": {
                    "description": "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.",
                    "$ref": "#/definitions/tapi.common.Capacity"
                }
            }
        },
        "tapi.common.CapacityUnit": {
            "type": "string",
            "enum": [
                "TB",
                "TBPS",
                "GB",
                "GBPS",
                "MB",
                "MBPS",
                "KB",
                "KBPS",
                "GHz",
                "MHz"
            ]
        },
        "tapi.common.CapacityValue": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "integer",
                    "format": "int32",
                    "description": "none"
                },
                "unit": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.CapacityUnit"
                }
            }
        },
        "tapi.common.Context": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.connectivity.ContextAugmentation4"
                },
                {
                    "$ref": "#/definitions/tapi.topology.ContextAugmentation5"
                },
                {
                    "type": "object",
                    "properties": {
                        "service-interface-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.common.context.ServiceInterfacePoint"
                            }
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.common.DirectiveValue": {
            "type": "string",
            "enum": [
                "MINIMIZE",
                "MAXIMIZE",
                "ALLOW",
                "DISALLOW",
                "DONT_CARE"
            ]
        },
        "tapi.common.ForwardingDirection": {
            "type": "string",
            "enum": [
                "BIDIRECTIONAL",
                "UNIDIRECTIONAL",
                "UNDEFINED_OR_UNKNOWN"
            ]
        },
        "tapi.common.GlobalClass": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "array",
                    "description": "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.",
                    "items": {
                        "$ref": "#/definitions/tapi.common.NameAndValue"
                    }
                },
                "uuid": {
                    "type": "string",
                    "description": "UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity.\r\n                    UUID here uses string representation as defined in RFC 4122.  The canonical representation uses lowercase characters.\r\n                    Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} \r\n                    Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6"
                }
            }
        },
        "tapi.common.LayerProtocolName": {
            "type": "string",
            "enum": [
                "ODU",
                "ETH",
                "DSR",
                "PHOTONIC_MEDIA"
            ]
        },
        "tapi.common.LifecycleState": {
            "type": "string",
            "enum": [
                "PLANNED",
                "POTENTIAL_AVAILABLE",
                "POTENTIAL_BUSY",
                "INSTALLED",
                "PENDING_REMOVAL"
            ]
        },
        "tapi.common.LocalClass": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "array",
                    "description": "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.",
                    "items": {
                        "$ref": "#/definitions/tapi.common.NameAndValue"
                    }
                },
                "local-id": {
                    "type": "string",
                    "description": "none"
                }
            }
        },
        "tapi.common.NameAndValue": {
            "type": "object",
            "properties": {
                "value-name": {
                    "type": "string",
                    "description": "The name of the value. The value need not have a name."
                },
                "value": {
                    "type": "string",
                    "description": "The value"
                }
            }
        },
        "tapi.common.OperationalState": {
            "type": "string",
            "enum": [
                "DISABLED",
                "ENABLED"
            ]
        },
        "tapi.common.OperationalStatePac": {
            "type": "object",
            "properties": {
                "operational-state": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.OperationalState"
                },
                "lifecycle-state": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.LifecycleState"
                }
            }
        },
        "tapi.common.PortDirection": {
            "type": "string",
            "enum": [
                "BIDIRECTIONAL",
                "INPUT",
                "OUTPUT",
                "UNIDENTIFIED_OR_UNKNOWN"
            ]
        },
        "tapi.common.PortRole": {
            "type": "string",
            "enum": [
                "SYMMETRIC",
                "ROOT",
                "LEAF",
                "TRUNK",
                "UNKNOWN"
            ]
        },
        "tapi.common.ServiceInterfacePoint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.AdminStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.CapacityPac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "supported-layer-protocol-qualifier": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "type": "string"
                            }
                        },
                        "layer-protocol-name": {
                            "description": "Usage of layerProtocolName [>1]  in the ServiceInterfacePoint should be considered experimental",
                            "$ref": "#/definitions/tapi.common.LayerProtocolName"
                        }
                    },
                    "description": "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. \r\n                The structure of LTP supports all transport protocols including circuit and packet forms."
                }
            ]
        },
        "tapi.common.ServiceInterfacePointRef": {
            "type": "object",
            "properties": {
                "service-interface-point-uuid": {
                    "type": "string",
                    "description": "none",
                    "x-path": "/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid"
                }
            }
        },
        "tapi.common.TerminationDirection": {
            "type": "string",
            "enum": [
                "BIDIRECTIONAL",
                "SINK",
                "SOURCE",
                "UNDEFINED_OR_UNKNOWN"
            ]
        },
        "tapi.common.TerminationPac": {
            "type": "object",
            "properties": {
                "termination-direction": {
                    "description": "The overall directionality of the LP. \r\n                    - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.\r\n                    - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows\r\n                    - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows",
                    "$ref": "#/definitions/tapi.common.TerminationDirection"
                },
                "termination-state": {
                    "description": "Indicates whether the layer is terminated and if so how.",
                    "$ref": "#/definitions/tapi.common.TerminationState"
                }
            }
        },
        "tapi.common.TerminationState": {
            "type": "string",
            "enum": [
                "LP_CAN_NEVER_TERMINATE",
                "LT_NOT_TERMINATED",
                "TERMINATED_SERVER_TO_CLIENT_FLOW",
                "TERMINATED_CLIENT_TO_SERVER_FLOW",
                "TERMINATED_BIDIRECTIONAL",
                "LT_PERMENANTLY_TERMINATED",
                "TERMINATION_STATE_UNKNOWN"
            ]
        },
        "tapi.common.TimeInterval": {
            "type": "object",
            "properties": {
                "period": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.common.TimePeriod"
                    }
                }
            }
        },
        "tapi.common.TimePeriod": {
            "type": "object",
            "properties": {
                "value": {
                    "type": "integer",
                    "format": "int32",
                    "description": "none"
                },
                "unit": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.TimeUnit"
                }
            }
        },
        "tapi.common.TimeRange": {
            "type": "object",
            "properties": {
                "end-time": {
                    "type": "string",
                    "description": "none"
                },
                "start-time": {
                    "type": "string",
                    "description": "none"
                }
            }
        },
        "tapi.common.TimeUnit": {
            "type": "string",
            "enum": [
                "YEARS",
                "MONTHS",
                "DAYS",
                "HOURS",
                "MINUTES",
                "SECONDS",
                "MILLISECONDS",
                "MICROSECONDS",
                "NANOSECONDS",
                "PICOSECONDS"
            ]
        },
        "tapi.common.context.ServiceInterfacePoint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.ServiceInterfacePoint"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.ServiceInterfacePointAugmentation1"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.ServiceInterfacePointAugmentation2"
                }
            ]
        },
        "tapi.connectivity.Connection": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.common.OperationalStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.ciena.alternativePhysicalRouteExt"
                },
                {
                    "type": "object",
                    "properties": {
                        "supported-client-link": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.LinkRef"
                            }
                        },
                        "lower-connection": {
                            "type": "array",
                            "description": "An Connection object supports a recursive aggregation relationship such that the internal construction of an Connection can be exposed as multiple lower level Connection objects (partitioning).\r\n                    Aggregation is used as for the Node/Topology  to allow changes in hierarchy. \r\n                    Connection aggregation reflects Node/Topology aggregation. \r\n                    The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning.",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectionRef"
                            }
                        },
                        "route": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.Route"
                            }
                        },
                        "layer-protocol-name": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.common.LayerProtocolName"
                        },
                        "connection-end-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectionEndPointRef"
                            }
                        },
                        "direction": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.common.ForwardingDirection"
                        }
                    },
                    "description": "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.\r\n                At the lowest level of recursion, a FC represents a cross-connection within an NE."
                }
            ]
        },
        "tapi.connectivity.CepList": {
            "type": "object",
            "properties": {
                "connection-end-point": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.connectivity.ConnectionEndPoint"
                    }
                }
            }
        },
        "tapi.connectivity.ConnectionEndPoint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.common.OperationalStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.TerminationPac"
                },
                {
                    "type": "object",
                    "properties": {
                        "client-node-edge-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeEdgePointRef"
                            }
                        },
                        "connection-port-role": {
                            "description": "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root)  in the context of the FC with respect to the FC function. ",
                            "$ref": "#/definitions/tapi.common.PortRole"
                        },
                        "layer-protocol-name": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.common.LayerProtocolName"
                        },
                        "layer-protocol-qualifier": {
                            "type": "string",
                            "description": "none"
                        },
                        "parent-node-edge-point": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.topology.NodeEdgePointRef"
                        },
                        "aggregated-connection-end-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectionEndPointRef"
                            }
                        },
                        "connection-port-direction": {
                            "description": "The orientation of defined flow at the EndPoint.",
                            "$ref": "#/definitions/tapi.common.PortDirection"
                        }
                    },
                    "description": "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. \r\n                The structure of LTP supports all transport protocols including circuit and packet forms."
                }
            ]
        },
        "tapi.connectivity.ConnectionEndPointUuids": {
            "allOf": [
                {
                    "type": "object",
                    "properties": {
                        "topology-uuid": {
                            "type": "string",
                            "description": "none"
                        },
                        "node-uuid": {
                            "type": "string",
                            "description": "none"
                        },
                        "node-edge-point-uuid": {
                            "type": "string",
                            "description": "none"
                        },
                        "connection-end-point-uuid": {
                            "type": "string",
                            "description": "none"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.connectivity.ConnectionEndPointRef": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.topology.NodeEdgePointRef"
                },
                {
                    "type": "object",
                    "properties": {
                        "connection-end-point-uuid": {
                            "type": "string",
                            "description": "none",
                            "x-path": "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:cep-list/tapi-connectivity:connection-end-point/tapi-connectivity:uuid"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.connectivity.ConnectionRef": {
            "type": "object",
            "properties": {
                "connection-uuid": {
                    "type": "string",
                    "description": "none",
                    "x-path": "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:uuid"
                }
            }
        },
        "tapi.connectivity.ConnectivityConstraint": {
            "type": "object",
            "properties": {
                "service-layer": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.LayerProtocolName"
                },
                "connectivity-direction": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.ForwardingDirection"
                },
                "requested-capacity": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.common.Capacity"
                },
                "diversity-exclusion": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.connectivity.ConnectivityServiceRef"
                    }
                },
                "connection-inclusion": {
                    "type": "array",
                    "description": "A ConnectivityService may use one or more existing Connections.\r\n                A common traditional strategy is to set up “stranded” connectivity in the core of the network as “express channels” (this is essentially a serial compound link, but can be treated as simple connections)\r\n                A connection inclusion capability allows for adoption of a discovered Connections.\r\n                A ConnectivityService is requested with a connection inclusion constraint that identifies a connection (or chain of connections) that is bounded by CEPs that each belong to a NEP that references a SIP that is referenced by a CSEP of the ConnectivityService such that all CSEPs are satisfied by CEPs of the existing Connection. will allow discovered Connections with no stated intent to be associated with an intent via the ConnectivityService.",
                    "items": {
                        "type": "string"
                    }
                },
                "service-level": {
                    "type": "string",
                    "description": "An abstract value the meaning of which is mutually agreed � typically represents metrics such as - Class of service, priority, resiliency, availability"
                },
                "service-type": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.connectivity.ServiceType"
                },
                "coroute-inclusion": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.connectivity.ConnectivityServiceRef"
                }
            }
        },
        "tapi.connectivity.ConnectivityContext": {
            "type": "object",
            "properties": {
                "connectivity-service": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.connectivity.ConnectivityService"
                    }
                },
                "connection": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.connectivity.Connection"
                    }
                }
            }
        },
        "tapi.connectivity.ConnectivityService": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.AdminStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.connectivity.ConnectivityConstraint"
                },
                {
                    "$ref": "#/definitions/tapi.connectivity.ResilienceConstraint"
                },
                {
                    "$ref": "#/definitions/tapi.path.computation.RoutingConstraint"
                },
                {
                    "$ref": "#/definitions/tapi.path.computation.TopologyConstraint"
                },
                {
                    "$ref": "#/definitions/tapi.ciena.ConnectivityServiceExtensions"
                },
                {
                    "type": "object",
                    "properties": {
                        "end-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectivityServiceEndPoint"
                            }
                        },
                        "connection": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectionRef"
                            }
                        }
                    },
                    "description": "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.\r\n                At the lowest level of recursion, a FC represents a cross-connection within an NE."
                }
            ]
        },
        "tapi.connectivity.ConnectivityServiceEndPoint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.AdminStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.LocalClass"
                },
                {
                    "$ref": "#/definitions/tapi.ciena.PhotonicConnectivityServiceEndpointExtensions"
                },
                {
                    "type": "object",
                    "properties": {
                        "service-interface-point": {
                            "$ref": "#/definitions/tapi.common.ServiceInterfacePointRef"
                        },
                        "layer-protocol-name": {
                            "$ref": "#/definitions/tapi.common.LayerProtocolName"
                        },
                        "layer-protocol-qualifier": {
                            "type": "string",
                            "enum": [
                                "ODU2",
                                "ODU2e",
                                "ODU4",
                                "ODU3",
                                "ETHERNET",
                                "DSR_10GE",
                                "DSR_40GE",
                                "DSR_100GE",
                                "OC192",
                                "STM64",
                                "OC768",
                                "STM256",
                                "DSR_1GE",
                                "OC48",
                                "STM16",
                                "ODU1",
                                "FC100",
                                "FC200",
                                "FC400",
                                "FC800",
                                "FC1200",
                                "FC1600",
                                "FC3200",
                                "FICON1G",
                                "FICONEXPRESS2G",
                                "FICON4G",
                                "FICON8G",
                                "FICON16G"
                            ]
                        },
                        "connection-end-point": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectionEndPointRef"
                            }
                        },
                        "direction": {
                            "description": "The orientation of defined flow at the EndPoint.",
                            "$ref": "#/definitions/tapi.common.PortDirection"
                        },
                        "capacity": {
                            "$ref": "#/definitions/tapi.common.Capacity"
                        }
                    },
                    "description": "The association of the FC to LTPs is made via EndPoints.\r\n                The EndPoint (EP) object class models the access to the FC function. \r\n                The traffic forwarding between the associated EPs of the FC depends upon the type of FC and may be associated with FcSwitch object instances.  \r\n                In cases where there is resilience the EndPoint may convey the resilience role of the access to the FC. \r\n                It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.\r\n                The EP replaces the Protection Unit of a traditional protection model. \r\n                The ForwadingConstruct can be considered as a component and the EndPoint as a Port on that component"
                }
            ]
        },
        "tapi.connectivity.ConnectivityServiceEndPointRef": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.connectivity.ConnectivityServiceRef"
                },
                {
                    "type": "object",
                    "properties": {
                        "connectivity-service-end-point-local-id": {
                            "type": "string",
                            "x-path": "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point/tapi-connectivity:local-id"
                        }
                    }
                }
            ]
        },
        "tapi.connectivity.ConnectivityServiceRef": {
            "type": "object",
            "properties": {
                "connectivity-service-uuid": {
                    "type": "string",
                    "x-path": "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connectivity-service/tapi-connectivity:uuid"
                }
            }
        },
        "tapi.connectivity.ContextAugmentation4": {
            "type": "object",
            "properties": {
                "connectivity-context": {
                    "description": "Augments the base TAPI Context with ConnectivityService information",
                    "$ref": "#/definitions/tapi.connectivity.ConnectivityContext"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-connectivity",
                "namespace": "urn:onf:otcc:yang:tapi-connectivity"
            }
        },
        "tapi.connectivity.CoordinateType": {
            "type": "string",
            "enum": [
                "NO_COORDINATE",
                "HOLD_OFF_TIME",
                "WAIT_FOR_NOTIFICATION"
            ]
        },
        "tapi.connectivity.OwnedNodeEdgePointAugmentation2": {
            "type": "object",
            "properties": {
                "cep-list": {
                    "$ref": "#/definitions/tapi.connectivity.context.topologycontext.topology.node.ownednodeedgepoint.CepList"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-connectivity",
                "namespace": "urn:onf:otcc:yang:tapi-connectivity"
            }
        },
        "tapi.connectivity.ProtectionRole": {
            "type": "string",
            "enum": [
                "WORK",
                "PROTECT",
                "PROTECTED",
                "NA",
                "WORK_RESTORE",
                "PROTECT_RESTORE"
            ]
        },
        "tapi.connectivity.ResilienceConstraint": {
            "type": "object",
            "properties": {
                "restoration-coordinate-type": {
                    "description": " The coordination mechanism between multi-layers.",
                    "$ref": "#/definitions/tapi.connectivity.CoordinateType"
                },
                "wait-to-revert-time": {
                    "type": "integer",
                    "format": "int32",
                    "description": "If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource.",
                    "default": 15
                },
                "resilience-type": {
                    "$ref": "#/definitions/tapi.topology.ResilienceType"
                },
                "reversion-mode": {
                    "description": "Indcates whether the protection scheme is revertive or non-revertive.",
                    "$ref": "#/definitions/tapi.connectivity.ReversionMode"
                }
            }
        },
        "tapi.connectivity.ReversionMode": {
            "type": "string",
            "enum": [
                "REVERTIVE",
                "NON-REVERTIVE"
            ]
        },
        "tapi.connectivity.Route": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.LocalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "connection-end-point": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectionEndPointRef"
                            }
                        }
                    },
                    "description": "The FC Route (FcRoute) object class models the individual routes of an FC. \r\n                The route of an FC object is represented by a list of FCs at a lower level. \r\n                Note that depending on the service supported by an FC, an the FC can have multiple routes."
                }
            ]
        },
        "tapi.connectivity.RouteRef": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.connectivity.ConnectionRef"
                },
                {
                    "type": "object",
                    "properties": {
                        "route-local-id": {
                            "type": "string",
                            "x-path": "/tapi-common:context/tapi-connectivity:connectivity-context/tapi-connectivity:connection/tapi-connectivity:route/tapi-connectivity:local-id"
                        }
                    }
                }
            ]
        },
        "tapi.connectivity.ServiceType": {
            "type": "string",
            "enum": [
                "POINT_TO_POINT_CONNECTIVITY",
                "POINT_TO_MULTIPOINT_CONNECTIVITY",
                "MULTIPOINT_CONNECTIVITY",
                "ROOTED_MULTIPOINT_CONNECTIVITY"
            ]
        },
        "tapi.connectivity.ceplist.ConnectionEndPoint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.connectivity.ConnectionEndPoint"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.ConnectionEndPointAugmentation2"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.ConnectionEndPointAugmentation3"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.ConnectionEndPointAugmentation4"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.ConnectionEndPointAugmentation5"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.ConnectionEndPointAugmentation6"
                }
            ]
        },
        "tapi.oam.Oam": {
            "allOf": [
                {
                    "type": "object",
                    "properties": {
                        "oam-job-ciena": {
                            "description": "format for creating OamJob",
                            "$ref": "#/definitions/tapi.oam.OamJobCiena"
                        }
                    }
                }
            ]
        },
        "tapi.oam.OamJobCiena": {
            "allOf": [
                {
                    "type": "object",
                    "properties": {
                        "measurement-data-format": {
                            "description": "Format of oam-job",
                            "type": "string"
                        },
                        "measurement-type": {
                            "description": "Type of oam-job(Can be latency, powerattributes or trailtrace)",
                            "type": "string"
                        },
                        "oam-job-type": {
                            "description": "Type of oam-job-type",
                            "type": "string"
                        },
                        "job-details": {
                            "type": "array",
                            "description": "List of job details in the form of name and value.",
                            "items": {
                                "$ref": "#/definitions/tapi.common.NameAndValue"
                            }
                        },
                        "connection-end-point": {
                            "type": "array",
                            "description": "Provides the connection end point uuids",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectionEndPointUuids"
                            }
                        }
                    }
                }
            ]
        },
        "tapi.connectivity.connectivitycontext.ConnectivityService": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.AdminStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.connectivity.ConnectivityConstraint"
                },
                {
                    "$ref": "#/definitions/tapi.connectivity.ResilienceConstraint"
                },
                {
                    "$ref": "#/definitions/tapi.path.computation.RoutingConstraint"
                },
                {
                    "$ref": "#/definitions/tapi.path.computation.TopologyConstraint"
                },
                {
                    "$ref": "#/definitions/tapi.ciena.EmbeddedEthernetAttributes"
                },
                {
                    "type": "object",
                    "properties": {
                        "end-point": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.connectivityservice.EndPoint"
                            }
                        },
                        "connection": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ConnectionRef"
                            }
                        }
                    }
                }
            ]
        },
        "tapi.connectivity.connectivityservice.EndPoint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.connectivity.ConnectivityServiceEndPoint"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.EndPointAugmentation1"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.EndPointAugmentation2"
                }
            ]
        },
        "tapi.connectivity.context.topologycontext.topology.node.ownednodeedgepoint.CepList": {
            "allOf": [
                {
                    "type": "object",
                    "properties": {
                        "connection-end-point": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/tapi.connectivity.ceplist.ConnectionEndPoint"
                            }
                        }
                    }
                }
            ]
        },
        "tapi.path.computation.DiversityPolicy": {
            "type": "string",
            "enum": [
                "SRLG",
                "SRNG",
                "SNG",
                "NODE",
                "LINK"
            ]
        },
        "tapi.path.computation.PathObjectiveFunction": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.LocalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "link-utilization": {
                            "$ref": "#/definitions/tapi.common.DirectiveValue"
                        },
                        "bandwidth-optimization": {
                            "$ref": "#/definitions/tapi.common.DirectiveValue"
                        },
                        "cost-optimization": {
                            "$ref": "#/definitions/tapi.common.DirectiveValue"
                        },
                        "resource-sharing": {
                            "$ref": "#/definitions/tapi.common.DirectiveValue"
                        },
                        "concurrent-paths": {
                            "$ref": "#/definitions/tapi.common.DirectiveValue"
                        }
                    }
                }
            ]
        },
        "tapi.path.computation.PathOptimizationConstraint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.LocalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "traffic-interruption": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.common.DirectiveValue"
                        }
                    }
                }
            ]
        },
        "tapi.path.computation.PathRef": {
            "type": "object",
            "properties": {
                "path-uuid": {
                    "type": "string",
                    "x-path": "/tapi-common:context/tapi-path-computation:path-computation-context/tapi-path-computation:path/tapi-path-computation:uuid"
                }
            }
        },
        "tapi.path.computation.RouteObjectiveFunction": {
            "type": "string",
            "enum": [
                "MIN_WORK_ROUTE_HOP",
                "MIN_WORK_ROUTE_COST",
                "MIN_WORK_ROUTE_LATENCY",
                "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_HOP",
                "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_COST",
                "MIN_SUM_OF_WORK_AND_PROTECTION_ROUTE_LATENCY",
                "LOAD_BALANCE_MAX_UNUSED_CAPACITY"
            ]
        },
        "tapi.path.computation.RoutingConstraint": {
            "type": "object",
            "properties": {
                "is-exclusive": {
                    "type": "boolean",
                    "description": "To distinguish if the resources are to be exclusive to the service",
                    "default": true
                },
                "diversity-policy": {
                    "$ref": "#/definitions/tapi.path.computation.DiversityPolicy"
                },
                "route-objective-function": {
                    "$ref": "#/definitions/tapi.path.computation.RouteObjectiveFunction"
                },
                "cost-characteristic": {
                    "type": "array",
                    "description": "The list of costs where each cost relates to some aspect of the TopologicalEntity.",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.CostCharacteristic"
                    }
                },
                "latency-characteristic": {
                    "type": "array",
                    "description": "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.LatencyCharacteristic"
                    }
                },
                "risk-diversity-characteristic": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.RiskCharacteristic"
                    }
                },
                "route-direction": {
                    "$ref": "#/definitions/tapi.common.ForwardingDirection"
                }
            }
        },
        "tapi.path.computation.TopologyConstraint": {
            "type": "object",
            "properties": {
                "include-node": {
                    "type": "array",
                    "description": "This is a loose constraint - that is it is unordered and could be a partial list",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.NodeRef"
                    }
                },
                "exclude-link": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.LinkRef"
                    }
                },
                "include-link": {
                    "type": "array",
                    "description": "This is a loose constraint - that is it is unordered and could be a partial list ",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.LinkRef"
                    }
                },
                "exclude-node": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.NodeRef"
                    }
                }
            }
        },
        "tapi.photonic.media.AdjustmentGranularity": {
            "type": "string",
            "enum": [
                "G_100GHZ",
                "G_50GHZ",
                "G_25GHZ",
                "G_12_5GHZ",
                "G_6_25GHZ",
                "G_3_125GHZ",
                "UNCONSTRAINED"
            ]
        },
        "tapi.photonic.media.ApplicationIdentifier": {
            "type": "object",
            "properties": {
                "application-identifier-type": {
                    "description": "The ITU-T recommendation which defines the application code format.",
                    "$ref": "#/definitions/tapi.photonic.media.ApplicationIdentifierType"
                },
                "application-code": {
                    "type": "string"
                }
            }
        },
        "tapi.photonic.media.ApplicationIdentifierType": {
            "type": "string",
            "enum": [
                "PROPRIETARY",
                "ITUT_G959_1",
                "ITUT_G698_1",
                "ITUT_G698_2",
                "ITUT_G696_1",
                "ITUT_G695"
            ]
        },
        "tapi.photonic.media.CentralFrequency": {
            "type": "object",
            "properties": {
                "central-frequency": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The central frequency of the laser specified in MHz. It is the oscillation frequency of the corresponding electromagnetic wave. "
                },
                "frequency-constraint": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.FrequencyConstraint"
                }
            }
        },
        "tapi.photonic.media.ConnectionEndPointAugmentation2": {
            "type": "object",
            "properties": {
                "otsi-connection-end-point-spec": {
                    "description": "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information",
                    "$ref": "#/definitions/tapi.photonic.media.OtsiConnectionEndPointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.ConnectionEndPointAugmentation3": {
            "type": "object",
            "properties": {
                "ots-connection-end-point-spec": {
                    "$ref": "#/definitions/tapi.photonic.media.OtsConnectionEndPointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.ConnectionEndPointAugmentation4": {
            "type": "object",
            "properties": {
                "media-channel-connection-end-point-spec": {
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelConnectionEndPointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.ConnectionEndPointAugmentation5": {
            "type": "object",
            "properties": {
                "otsi-assembly-connection-end-point-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.OtsiAssemblyConnectionEndPointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.ConnectionEndPointAugmentation6": {
            "type": "object",
            "properties": {
                "media-channel-assembly-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelAssemblySpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.EndPointAugmentation1": {
            "type": "object",
            "properties": {
                "media-channel-service-interface-point-spec": {
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelServiceInterfacePointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.EndPointAugmentation2": {
            "type": "object",
            "properties": {
                "otsi-connectivity-service-end-point-spec": {
                    "$ref": "#/definitions/tapi.photonic.media.OtsiConnectivityServiceEndPointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.FecPropertiesPac": {
            "type": "object",
            "properties": {
                "uncorrectable-bytes": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Bytes that could not be corrected by FEC"
                },
                "corrected-bits": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Bits corrected between those that were received corrupted"
                },
                "pre-fec-ber": {
                    "type": "integer",
                    "format": "int32",
                    "description": "counter: bit error rate before correction by FEC"
                },
                "uncorrectable-bits": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Bits that could not be corrected by FEC"
                },
                "corrected-bytes": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Bytes corrected between those that were received corrupted"
                },
                "post-fec-ber": {
                    "type": "integer",
                    "format": "int32",
                    "description": "counter: bit error rate after correction by FEC"
                }
            }
        },
        "tapi.photonic.media.FrequencyConstraint": {
            "type": "object",
            "properties": {
                "adjustment-granularity": {
                    "description": "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)",
                    "$ref": "#/definitions/tapi.photonic.media.AdjustmentGranularity"
                },
                "grid-type": {
                    "description": "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width",
                    "$ref": "#/definitions/tapi.photonic.media.GridType"
                }
            }
        },
        "tapi.photonic.media.GridType": {
            "type": "string",
            "enum": [
                "DWDM",
                "CWDM",
                "FLEX",
                "GRIDLESS",
                "UNSPECIFIED"
            ]
        },
        "tapi.photonic.media.LaserControlStatusType": {
            "type": "string",
            "enum": [
                "ON",
                "OFF",
                "PULSING",
                "UNDEFINED"
            ]
        },
        "tapi.photonic.media.LaserControlType": {
            "type": "string",
            "enum": [
                "FORCED-ON",
                "FORCED-OFF",
                "AUTOMATIC-LASER-SHUTDOWN",
                "UNDEFINED"
            ]
        },
        "tapi.photonic.media.LaserPropertiesPac": {
            "type": "object",
            "properties": {
                "laser-application-type": {
                    "description": "The type of laser, its operational wavelengths, and its applications. String size 255.",
                    "$ref": "#/definitions/tapi.photonic.media.LaserType"
                },
                "laser-bias-current": {
                    "type": "string",
                    "description": "The Bias current of the laser that is the medium polarization current of the laser."
                },
                "laser-temperature": {
                    "type": "string",
                    "description": "The temperature of the laser"
                },
                "laser-status": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.LaserControlStatusType"
                }
            }
        },
        "tapi.photonic.media.LaserType": {
            "type": "string",
            "enum": [
                "PUMP",
                "MODULATED",
                "PULSE"
            ]
        },
        "tapi.photonic.media.MediaChannelAssemblySpec": {
            "type": "object"
        },
        "tapi.photonic.media.MediaChannelConnectionEndPointSpec": {
            "type": "object",
            "properties": {
                "media-channel": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelPropertiesPac"
                }
            }
        },
        "tapi.photonic.media.MediaChannelNodeEdgePointSpec": {
            "type": "object",
            "properties": {
                "mc-pool": {
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelPoolCapabilityPac"
                }
            }
        },
        "tapi.photonic.media.MediaChannelPoolCapabilityPac": {
            "type": "object",
            "properties": {
                "available-spectrum": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.photonic.media.SpectrumBand"
                    }
                },
                "supportable-spectrum": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.photonic.media.SpectrumBand"
                    }
                },
                "occupied-spectrum": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.photonic.media.SpectrumBand"
                    }
                }
            }
        },
        "tapi.photonic.media.MediaChannelPropertiesPac": {
            "type": "object",
            "properties": {
                "occupied-spectrum": {
                    "$ref": "#/definitions/tapi.photonic.media.SpectrumBand"
                },
                "measured-power-egress": {
                    "$ref": "#/definitions/tapi.photonic.media.PowerPropertiesPac"
                },
                "measured-power-ingress": {
                    "$ref": "#/definitions/tapi.photonic.media.PowerPropertiesPac"
                }
            }
        },
        "tapi.photonic.media.MediaChannelServiceInterfacePointSpec": {
            "type": "object",
            "properties": {
                "mc-pool": {
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelPoolCapabilityPac"
                }
            }
        },
        "tapi.photonic.media.ModulationTechnique": {
            "type": "string",
            "enum": [
                "RZ",
                "NRZ",
                "BPSK",
                "DPSK",
                "QPSK",
                "8QAM",
                "16QAM",
                "PAM4",
                "PAM8",
                "UNDEFINED"
            ]
        },
        "tapi.photonic.media.OtsConnectionEndPointSpec": {
            "type": "object",
            "properties": {
                "ots-media-channel": {
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelPropertiesPac"
                }
            }
        },
        "tapi.photonic.media.OtsiAssemblyConnectionEndPointSpec": {
            "type": "object",
            "properties": {
                "otsi-adapter": {
                    "$ref": "#/definitions/tapi.photonic.media.OtsiGserverAdaptationPac"
                },
                "fec-parameters": {
                    "$ref": "#/definitions/tapi.photonic.media.FecPropertiesPac"
                }
            }
        },
        "tapi.photonic.media.OtsiCapabilityPac": {
            "type": "object",
            "properties": {
                "supportable-lower-central-frequency": {
                    "type": "array",
                    "description": "The lower frequency of the channel spectrum",
                    "items": {
                        "$ref": "#/definitions/tapi.photonic.media.CentralFrequency"
                    }
                },
                "supportable-application-identifier": {
                    "type": "array",
                    "description": "The list of supportable ApplicationIdentifiers.",
                    "items": {
                        "$ref": "#/definitions/tapi.photonic.media.ApplicationIdentifier"
                    }
                },
                "supportable-modulation": {
                    "type": "array",
                    "description": "This parameter defines the modulation used at the source",
                    "items": {
                        "$ref": "#/definitions/tapi.photonic.media.ModulationTechnique"
                    }
                },
                "total-power-warn-threshold": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.TotalPowerThresholdPac"
                },
                "supportable-upper-central-frequency": {
                    "type": "array",
                    "description": "The Upper frequency of the channel spectrum",
                    "items": {
                        "$ref": "#/definitions/tapi.photonic.media.CentralFrequency"
                    }
                }
            }
        },
        "tapi.photonic.media.OtsiConnectionEndPointSpec": {
            "type": "object",
            "properties": {
                "otsi-termination": {
                    "$ref": "#/definitions/tapi.photonic.media.OtsiTerminationPac"
                }
            }
        },
        "tapi.photonic.media.OtsiConnectivityServiceEndPointSpec": {
            "type": "object",
            "properties": {
                "otsi-config": {
                    "$ref": "#/definitions/tapi.photonic.media.OtsiTerminationConfigPac"
                }
            }
        },
        "tapi.photonic.media.OtsiGserverAdaptationPac": {
            "type": "object",
            "properties": {
                "number-of-otsi": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "tapi.photonic.media.OtsiServiceInterfacePointSpec": {
            "type": "object",
            "properties": {
                "otsi-capability": {
                    "$ref": "#/definitions/tapi.photonic.media.OtsiCapabilityPac"
                }
            }
        },
        "tapi.photonic.media.OtsiTerminationConfigPac": {
            "type": "object",
            "properties": {
                "application-identifier": {
                    "description": "This attribute indicates the selected Application Identifier.",
                    "$ref": "#/definitions/tapi.photonic.media.ApplicationIdentifier"
                },
                "central-frequency": {
                    "description": "The central frequency of the laser. It is the oscillation frequency of the corresponding electromagnetic wave",
                    "$ref": "#/definitions/tapi.photonic.media.CentralFrequency"
                },
                "modulation": {
                    "description": "The modulation techniqu selected at the source.",
                    "$ref": "#/definitions/tapi.photonic.media.ModulationTechnique"
                },
                "spectrum": {
                    "$ref": "#/definitions/tapi.photonic.media.SpectrumBand"
                },
                "laser-control": {
                    "description": "Laser control can be FORCED-ON, FORCED-OFF or LASER-SHUTDOWN",
                    "$ref": "#/definitions/tapi.photonic.media.LaserControlType"
                },
                "total-power-warn-threshold-lower": {
                    "type": "string",
                    "description": "Allows to configure the Lowerpower threshold which is expected to be different from Default, but within the Min and Max values specified as OTSi SIP capability."
                },
                "total-power-warn-threshold-upper": {
                    "type": "string",
                    "description": "Allows to configure the Upper power threshold which is expected to be different from Default, but within the Min and Max values specified as OTSi SIP capability."
                },
                "transmit-power": {
                    "description": "Transmit power as requested.",
                    "$ref": "#/definitions/tapi.photonic.media.PowerPropertiesPac"
                }
            }
        },
        "tapi.photonic.media.OtsiTerminationPac": {
            "type": "object",
            "properties": {
                "selected-application-identifier": {
                    "description": "This attribute indicates the selected Application Identifier that is used by the OCh trail termination function. The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.",
                    "$ref": "#/definitions/tapi.photonic.media.ApplicationIdentifier"
                },
                "received-power": {
                    "$ref": "#/definitions/tapi.photonic.media.PowerPropertiesPac"
                },
                "selected-central-frequency": {
                    "$ref": "#/definitions/tapi.photonic.media.CentralFrequency"
                },
                "transmited-power": {
                    "description": "Measured power at the Transmitter.",
                    "$ref": "#/definitions/tapi.photonic.media.PowerPropertiesPac"
                },
                "selected-modulation": {
                    "description": "This parameter defines the modulation used at the source",
                    "$ref": "#/definitions/tapi.photonic.media.SelectedModulation"
                },
                "laser-properties": {
                    "description": "Laser properties.",
                    "$ref": "#/definitions/tapi.photonic.media.LaserPropertiesPac"
                },
                "selected-spectrum": {
                    "$ref": "#/definitions/tapi.photonic.media.SpectrumBand"
                }
            }
        },
        "tapi.photonic.media.OwnedNodeEdgePointAugmentation1": {
            "type": "object",
            "properties": {
                "media-channel-node-edge-point-spec": {
                    "description": "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information",
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelNodeEdgePointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.PowerPropertiesPac": {
            "type": "object",
            "properties": {
                "power-spectral-density": {
                    "type": "string",
                    "description": "This describes how power of a signal  is distributed over frequency specified in nW/MHz"
                },
                "total-power": {
                    "type": "string",
                    "description": "The total power at any point in a channel specified in dBm."
                }
            }
        },
        "tapi.photonic.media.SelectedModulation": {
            "type": "string",
            "enum": [
                "RZ",
                "NRZ",
                "BPSK",
                "DPSK",
                "QPSK",
                "8QAM",
                "16QAM",
                "PAM4",
                "PAM8",
                "UNDEFINED"
            ]
        },
        "tapi.photonic.media.ServiceInterfacePointAugmentation1": {
            "type": "object",
            "properties": {
                "media-channel-service-interface-point-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.MediaChannelServiceInterfacePointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.ServiceInterfacePointAugmentation2": {
            "type": "object",
            "properties": {
                "otsi-service-interface-point-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.OtsiServiceInterfacePointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-photonic-media",
                "namespace": "urn:onf:otcc:yang:tapi-photonic-media"
            }
        },
        "tapi.photonic.media.SpectrumBand": {
            "type": "object",
            "properties": {
                "lower-frequency": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The lower frequency bound of the media channel spectrum specified in MHz"
                },
                "upper-frequency": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The upper frequency bound of the media channel spectrum specified in MHz"
                },
                "frequency-constraint": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.photonic.media.FrequencyConstraint"
                }
            }
        },
        "tapi.photonic.media.TotalPowerThresholdPac": {
            "type": "object",
            "properties": {
                "total-power-upper-warn-threshold-default": {
                    "type": "string",
                    "description": "Can read the value of the default  threshold that was set"
                },
                "total-power-lower-warn-threshold-min": {
                    "type": "string",
                    "description": "Can read the value of the lower threshold that was set"
                },
                "total-power-upper-warn-threshold-min": {
                    "type": "string",
                    "description": "Can read the value of the lower threshold that was set"
                },
                "total-power-upper-warn-threshold-max": {
                    "type": "string",
                    "description": "Can  read the value of the upper threshold that was set"
                },
                "total-power-lower-warn-threshold-max": {
                    "type": "string",
                    "description": "Can  read the value of the upper threshold that was set"
                },
                "total-power-lower-warn-threshold-default": {
                    "type": "string",
                    "description": "Can read the value of the default  threshold that was set"
                }
            }
        },
        "tapi.topology.ContextAugmentation5": {
            "type": "object",
            "properties": {
                "topology-context": {
                    "description": "Augments the base TAPI Context with TopologyService information",
                    "$ref": "#/definitions/tapi.topology.TopologyContext"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-topology",
                "namespace": "urn:onf:otcc:yang:tapi-topology"
            }
        },
        "tapi.topology.CostCharacteristic": {
            "type": "object",
            "properties": {
                "cost-value": {
                    "type": "string",
                    "description": "The specific cost."
                },
                "cost-algorithm": {
                    "type": "string",
                    "description": "The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm."
                },
                "cost-name": {
                    "type": "string",
                    "description": "The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName."
                }
            }
        },
        "tapi.topology.ForwardingRule": {
            "type": "string",
            "enum": [
                "MAY_FORWARD_ACROSS_GROUP",
                "MUST_FORWARD_ACROSS_GROUP",
                "CANNOT_FORWARD_ACROSS_GROUP",
                "NO_STATEMENT_ON_FORWARDING"
            ]
        },
        "tapi.topology.InterRuleGroup": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.CapacityPac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.topology.RiskParameterPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferCostPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferTimingPac"
                },
                {
                    "type": "object",
                    "properties": {
                        "associated-node-rule-group": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeRuleGroupRef"
                            }
                        },
                        "rule": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.Rule"
                            }
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.topology.LatencyCharacteristic": {
            "type": "object",
            "properties": {
                "traffic-property-name": {
                    "type": "string",
                    "description": "The identifier of the specific traffic property to which the queuing latency applies."
                },
                "jitter-characteristic": {
                    "type": "string",
                    "description": "High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency.\r\n                    Applies to TDM systems (and not packet)."
                },
                "fixed-latency-characteristic": {
                    "type": "string",
                    "description": "A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity"
                },
                "wander-characteristic": {
                    "type": "string",
                    "description": "Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency.\r\n                    Applies to TDM systems (and not packet)."
                },
                "queing-latency-characteristic": {
                    "type": "string",
                    "description": "The specific queuing latency for the traffic property."
                }
            }
        },
        "tapi.topology.LayerProtocolTransitionPac": {
            "type": "object",
            "properties": {
                "transitioned-layer-protocol-name": {
                    "type": "array",
                    "description": "Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "tapi.topology.Link": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.AdminStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.CapacityPac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.topology.LayerProtocolTransitionPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.RiskParameterPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferCostPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferIntegrityPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferTimingPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.ValidationPac"
                },
                {
                    "type": "object",
                    "properties": {
                        "layer-protocol-name": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.common.LayerProtocolName"
                            }
                        },
                        "resilience-type": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.topology.ResilienceType"
                        },
                        "node-edge-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeEdgePointRef"
                            }
                        },
                        "direction": {
                            "description": "The directionality of the Link. \r\n                    Is applicable to simple Links where all LinkEnds are BIDIRECTIONAL (the Link will be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL). \r\n                    Is not present in more complex cases.",
                            "$ref": "#/definitions/tapi.common.ForwardingDirection"
                        }
                    },
                    "description": "The Link object class models effective adjacency between two or more ForwardingDomains (FD). "
                }
            ]
        },
        "tapi.topology.LinkRef": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.topology.TopologyRef"
                },
                {
                    "type": "object",
                    "properties": {
                        "link-uuid": {
                            "type": "string",
                            "description": "none",
                            "x-path": "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:link/tapi-topology:uuid"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.topology.NetworkTopologyService": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "topology": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.TopologyRef"
                            }
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.topology.Node": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.AdminStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.CapacityPac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferCostPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferIntegrityPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferTimingPac"
                },
                {
                    "type": "object",
                    "properties": {
                        "layer-protocol-name": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.common.LayerProtocolName"
                            }
                        },
                        "encap-topology": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.topology.TopologyRef"
                        },
                        "owned-node-edge-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeEdgePoint"
                            }
                        },
                        "node-rule-group": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeRuleGroup"
                            }
                        },
                        "aggregated-node-edge-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeEdgePointRef"
                            }
                        }
                    },
                    "description": "The ForwardingDomain (FD) object class models the ForwardingDomain topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding. \r\n                At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). "
                }
            ]
        },
        "tapi.topology.NodeEdgePoint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.AdminStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.CapacityPac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.common.TerminationPac"
                },
                {
                    "$ref": "#/definitions/tapi.common.TerminationPac"
                },
                {
                    "$ref": "#/definitions/tapi.ciena.LLDPSnoop"
                },
                {
                    "$ref": "#/definitions/tapi.ciena.AdjacencyPackage"
                },
                {
                    "type": "object",
                    "properties": {
                        "link-port-role": {
                            "description": "Each LinkEnd of the Link has a role (e.g., symmetric, hub, spoke, leaf, root)  in the context of the Link with respect to the Link function. ",
                            "$ref": "#/definitions/tapi.common.PortRole"
                        },
                        "mapped-service-interface-point": {
                            "type": "array",
                            "description": "NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental",
                            "items": {
                                "$ref": "#/definitions/tapi.common.ServiceInterfacePointRef"
                            }
                        },
                        "aggregated-node-edge-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeEdgePointRef"
                            }
                        },
                        "layer-protocol-name": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.common.LayerProtocolName"
                        },
                        "link-port-direction": {
                            "description": "The orientation of defined flow at the LinkEnd.",
                            "$ref": "#/definitions/tapi.common.PortDirection"
                        },
                        "supported-cep-layer-protocol-qualifier": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "description": "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. \r\n                The structure of LTP supports all transport protocols including circuit and packet forms."
                }
            ]
        },
        "tapi.topology.NodeEdgePointRef": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.topology.NodeRef"
                },
                {
                    "type": "object",
                    "properties": {
                        "node-edge-point-uuid": {
                            "type": "string",
                            "description": "none",
                            "x-path": "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.topology.NodeRef": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.topology.TopologyRef"
                },
                {
                    "type": "object",
                    "properties": {
                        "node-uuid": {
                            "type": "string",
                            "description": "none",
                            "x-path": "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.topology.NodeRuleGroup": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.CapacityPac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.topology.RiskParameterPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferCostPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferTimingPac"
                },
                {
                    "type": "object",
                    "properties": {
                        "inter-rule-group": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.InterRuleGroup"
                            }
                        },
                        "rule": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.Rule"
                            }
                        },
                        "composed-rule-group": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeRuleGroupRef"
                            }
                        },
                        "node-edge-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeEdgePointRef"
                            }
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.topology.NodeRuleGroupRef": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.topology.NodeRef"
                },
                {
                    "type": "object",
                    "properties": {
                        "node-rule-group-uuid": {
                            "type": "string",
                            "description": "none",
                            "x-path": "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:node/tapi-topology:node-rule-group/tapi-topology:uuid"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.topology.ProtectionType": {
            "type": "string",
            "enum": [
                "NO_PROTECTON",
                "ONE_PLUS_ONE_PROTECTION",
                "ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION",
                "DYNAMIC_RESTORATION"
            ]
        },
        "tapi.topology.ResilienceType": {
            "type": "object",
            "properties": {
                "restoration-policy": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.topology.RestorationPolicy"
                },
                "protection-type": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.topology.ProtectionType"
                }
            }
        },
        "tapi.topology.RestorationPolicy": {
            "type": "string",
            "enum": [
                "END_TO_END_RESTORATION",
                "NA"
            ]
        },
        "tapi.topology.RiskCharacteristic": {
            "type": "object",
            "properties": {
                "risk-characteristic-name": {
                    "type": "string",
                    "description": "The name of the risk characteristic. The characteristic may be related to a specific degree of closeness. \r\n                    For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge).\r\n                    Depending upon the importance of the traffic being routed different risk characteristics will be evaluated."
                },
                "risk-identifier-list": {
                    "type": "array",
                    "description": "A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "tapi.topology.RiskParameterPac": {
            "type": "object",
            "properties": {
                "risk-characteristic": {
                    "type": "array",
                    "description": "A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration.",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.RiskCharacteristic"
                    }
                }
            }
        },
        "tapi.topology.Rule": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.LocalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "override-priority": {
                            "type": "integer",
                            "format": "int32",
                            "description": "none"
                        },
                        "forwarding-rule": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.topology.ForwardingRule"
                        },
                        "rule-type": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.topology.RuleType"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.topology.RuleType": {
            "type": "string",
            "enum": [
                "FORWARDING",
                "CAPACITY",
                "COST",
                "TIMING",
                "RISK",
                "GROUPING"
            ]
        },
        "tapi.topology.Topology": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "layer-protocol-name": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.common.LayerProtocolName"
                            }
                        },
                        "link": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.Link"
                            }
                        },
                        "node": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.Node"
                            }
                        }
                    },
                    "description": "The ForwardingDomain (FD) object class models the ForwardingDomain topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding. \r\n                At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). "
                }
            ]
        },
        "tapi.topology.topologycontext.TopologyWrapper": {
            "properties": {
                "topology": {
                    "$ref": "#/definitions/tapi.topology.Topology"
                }
            }
        },
        "tapi.topology.TopologyInfo": {
            "type": "object",
            "properties": {
                "meta": {
                    "type": "object",
                    "properties": {
                        "totalMatchingResources": {
                            "type": "integer",
                            "format": "int32"
                        },
                        "totalResources": {
                            "type": "integer",
                            "format": "int32"
                        }
                    }
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.Topology"
                    }
                },
                "links": {
                    "type": "object",
                    "properties": {
                        "self": {
                            "type": "string",
                            "description": "Self resource path and URL query string"
                        }
                    }
                }
            }
        },
        "tapi.topology.TopologyContext": {
            "type": "object",
            "properties": {
                "nw-topology-service": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.topology.NetworkTopologyService"
                },
                "topology": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.Topology"
                    }
                }
            }
        },
        "tapi.topology.TopologyRef": {
            "type": "object",
            "properties": {
                "topology-uuid": {
                    "type": "string",
                    "description": "none",
                    "x-path": "/tapi-common:context/tapi-topology:topology-context/tapi-topology:topology/tapi-topology:uuid"
                }
            }
        },
        "tapi.topology.TransferCostPac": {
            "type": "object",
            "properties": {
                "cost-characteristic": {
                    "type": "array",
                    "description": "The list of costs where each cost relates to some aspect of the TopologicalEntity.",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.CostCharacteristic"
                    }
                }
            }
        },
        "tapi.topology.TransferIntegrityPac": {
            "type": "object",
            "properties": {
                "error-characteristic": {
                    "type": "string",
                    "description": "Describes the degree to which the signal propagated can be errored. \r\n                    Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded."
                },
                "unavailable-time-characteristic": {
                    "type": "string",
                    "description": "Describes the duration for which there may be no valid signal propagated."
                },
                "server-integrity-process-characteristic": {
                    "type": "string",
                    "description": "Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity."
                },
                "delivery-order-characteristic": {
                    "type": "string",
                    "description": "Describes the degree to which packets will be delivered out of sequence.\r\n                    Does not apply to TDM as the TDM protocols maintain strict order."
                },
                "repeat-delivery-characteristic": {
                    "type": "string",
                    "description": "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). \r\n                    It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay."
                },
                "loss-characteristic": {
                    "type": "string",
                    "description": "Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow.\r\n                    Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips)."
                }
            }
        },
        "tapi.topology.TransferTimingPac": {
            "type": "object",
            "properties": {
                "latency-characteristic": {
                    "type": "array",
                    "description": "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.LatencyCharacteristic"
                    }
                }
            }
        },
        "tapi.topology.ValidationMechanism": {
            "type": "object",
            "properties": {
                "layer-protocol-adjacency-validated": {
                    "type": "string",
                    "description": "State of validatiion"
                },
                "validation-mechanism": {
                    "type": "string",
                    "description": "Name of mechanism used to validate adjacency"
                },
                "validation-robustness": {
                    "type": "string",
                    "description": "Quality of validation (i.e. how likely is the stated validation to be invalid)"
                }
            }
        },
        "tapi.topology.ValidationPac": {
            "type": "object",
            "properties": {
                "validation-mechanism": {
                    "type": "array",
                    "description": "Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity.",
                    "items": {
                        "$ref": "#/definitions/tapi.topology.ValidationMechanism"
                    }
                }
            }
        },
        "tapi.topology.node.OwnedNodeEdgePoint": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.connectivity.OwnedNodeEdgePointAugmentation2"
                },
                {
                    "$ref": "#/definitions/tapi.photonic.media.OwnedNodeEdgePointAugmentation1"
                },
                {
                    "$ref": "#/definitions/tapi.topology.NodeEdgePoint"
                }
            ]
        },
        "tapi.topology.topology.Node": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.AdminStatePac"
                },
                {
                    "$ref": "#/definitions/tapi.common.CapacityPac"
                },
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferCostPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferIntegrityPac"
                },
                {
                    "$ref": "#/definitions/tapi.topology.TransferTimingPac"
                },
                {
                    "type": "object",
                    "properties": {
                        "layer-protocol-name": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.common.LayerProtocolName"
                            }
                        },
                        "encap-topology": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.topology.TopologyRef"
                        },
                        "owned-node-edge-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.node.OwnedNodeEdgePoint"
                            }
                        },
                        "node-rule-group": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeRuleGroup"
                            }
                        },
                        "aggregated-node-edge-point": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.topology.NodeEdgePointRef"
                            }
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.equipment.ActualEquipment": {
            "type": "object",
            "properties": {
                "common-actual-properties": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.CommonActualProperties"
                },
                "actual-non-field-replaceable-module": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.equipment.ActualNonFieldReplaceableModule"
                    }
                },
                "common-equipment-properties": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.CommonEquipmentProperties"
                }
            }
        },
        "tapi.equipment.ActualHolder": {
            "type": "object",
            "properties": {
                "common-holder-properties": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.CommonHolderProperties"
                }
            }
        },
        "tapi.equipment.ActualNonFieldReplaceableModule": {
            "type": "object",
            "properties": {
                "common-actual-properties": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.CommonActualProperties"
                },
                "common-equipment-properties": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.CommonEquipmentProperties"
                }
            }
        },
        "tapi.equipment.CommonActualProperties": {
            "type": "object",
            "properties": {
                "temperature": {
                    "type": "string",
                    "description": "The measured temperature of the Equipment."
                },
                "manufacture-date": {
                    "type": "string",
                    "description": "This attribute represents the date on which this instance is manufactured."
                },
                "is-powered": {
                    "type": "boolean",
                    "description": "The state of the power being supplied to the equipment.\r\n                Note that this attribute summarizes the power state. \r\n                Full details on the actual power system would be provided from a number of PC instances representing the relevant parts of the Power function (e.g. different voltage supplies).",
                    "default": false
                },
                "serial-number": {
                    "type": "string",
                    "description": "This attribute represents the serial number of this instance."
                },
                "asset-instance-identifier": {
                    "type": "string",
                    "description": "This attribute represents the asset identifier of this instance from the manufacturer's perspective."
                }
            }
        },
        "tapi.equipment.CommonEquipmentProperties": {
            "type": "object",
            "properties": {
                "equipment-type-version": {
                    "type": "string",
                    "description": "This attribute identifies the version of the equipment."
                },
                "manufacturer-name": {
                    "type": "string",
                    "description": "The formal name of the manufacturer of the Equipment."
                },
                "equipment-type-description": {
                    "type": "string",
                    "description": "Text describing the type of Equipment."
                },
                "manufacturer-identifier": {
                    "type": "string",
                    "description": "The formal unique identifier of the manufacturer."
                },
                "equipment-type-name": {
                    "type": "string",
                    "description": "This attribute identifies the type of the equipment."
                },
                "equipment-type-identifier": {
                    "type": "string",
                    "description": "This attribute identifies the part type of the equipment."
                },
                "asset-type-identifier": {
                    "type": "string",
                    "description": "Represents the invariant properties of the equipment asset allocated by the operator that define and characterize the type."
                }
            }
        },
        "tapi.equipment.CommonHolderProperties": {
            "type": "object",
            "properties": {
                "holder-location": {
                    "type": "string",
                    "description": "The relative position of the holder in the context of its containing equipment along with the position of that containing Equipment (and further recursion)."
                },
                "is-guided": {
                    "type": "boolean",
                    "description": "This attribute indicates whether the holder has guides that constrain the position of the equipment in the holder or not.",
                    "default": false
                },
                "holder-category": {
                    "type": "string",
                    "description": "The type of holder."
                }
            }
        },
        "tapi.equipment.ConnectorPinAddress": {
            "type": "object",
            "properties": {
                "connector-identification": {
                    "type": "string",
                    "description": "Identification of the Connector in the conetxt of the referenced Equipment."
                },
                "equipment-uuid": {
                    "type": "string",
                    "description": "Reference to the Equipment that is fitted with the Connector/Pin."
                },
                "pin-identification": {
                    "type": "string",
                    "description": "Where relevant, identification of the Pin in the contect of the connector.\r\n                Where the whole connector is used, then individual Pins need not be identified."
                }
            }
        },
        "tapi.equipment.ContextAugmentation2": {
            "type": "object",
            "properties": {
                "physical-context": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.PhysicalContext"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-equipment",
                "namespace": "urn:onf:otcc:yang:tapi-equipment"
            }
        },
        "tapi.equipment.Device": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "equipment": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.equipment.Equipment"
                            }
                        }
                    },
                    "description": "A logical grouping of Equipments and AccessPorts that are closely located and form a support a coherent system of related functions."
                }
            ]
        },
        "tapi.equipment.PhysicalSpan": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "equipment": {
                            "type": "array",
                            "description": "A logical grouping of TapiEquipmentAccessPortRef that contain the device uuid and the access port uuid.",
                            "items": {
                                "$ref": "#/definitions/tapi.equipment.TapiEquipmentAccessPortRef"
                            }
                        }
                    },
                    "description": "Represents a physical span in the equipment"
                }
            ]
        },
        "tapi.equipment.TapiEquipmentAccessPortRef": {
            "type": "object",
            "properties": {
                "device-uuid": {
                    "type": "string",
                    "description": "The uuid of the device."
                },
                "access-port-uuid": {
                    "type": "string",
                    "description": "The access port id."
                }
            }
        },
        "tapi.equipment.DeviceRef": {
            "type": "object",
            "properties": {
                "device-uuid": {
                    "type": "string",
                    "description": "none",
                    "x-path": "/tapi-common:context/tapi-equipment:physical-context/tapi-equipment:device/tapi-equipment:uuid"
                }
            }
        },
        "tapi.equipment.Equipment": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "contained-holder": {
                            "type": "array",
                            "description": "References the Holder in an Equipment that is available to take other Equipments.\r\n                For example:\r\n                - Slot in a sub-rack\r\n                - Slot in a Field Replaceable Unit that can take a small form-factor pluggable.",
                            "items": {
                                "$ref": "#/definitions/tapi.equipment.Holder"
                            }
                        },
                        "actual-equipment": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.equipment.ActualEquipment"
                        },
                        "is-expected-actual-mismatch": {
                            "type": "boolean",
                            "description": "none",
                            "default": false
                        },
                        "geographical-location": {
                            "type": "string",
                            "description": "none"
                        },
                        "expected-equipment": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.equipment.ExpectedEquipment"
                            }
                        },
                        "equipment-location": {
                            "type": "string",
                            "description": "none"
                        },
                        "category": {
                            "type": "string",
                            "description": "This attribute provides the identifier for the form of equipments regarded as having particular shared characteristics."
                        }
                    },
                    "description": "Represents any relevant physical thing. \r\n            Can be either field replaceable or not field replaceable.\r\n            Note: The model is currently constrained to inside plant."
                }
            ]
        },
        "tapi.equipment.EquipmentRef": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.equipment.DeviceRef"
                },
                {
                    "type": "object",
                    "properties": {
                        "equipment-uuid": {
                            "type": "string",
                            "description": "none",
                            "x-path": "/tapi-common:context/tapi-equipment:physical-context/tapi-equipment:device/tapi-equipment:equipment/tapi-equipment:uuid"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.equipment.ExpectedEquipment": {
            "type": "object",
            "properties": {
                "expected-holder": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.equipment.ExpectedHolder"
                    }
                },
                "expected-non-field-replaceable-module": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.equipment.ExpectedNonFieldReplaceableModule"
                    }
                },
                "common-equipment-properties": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.CommonEquipmentProperties"
                }
            }
        },
        "tapi.equipment.ExpectedHolder": {
            "type": "object",
            "properties": {
                "common-holder-properties": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.CommonHolderProperties"
                }
            }
        },
        "tapi.equipment.ExpectedNonFieldReplaceableModule": {
            "type": "object",
            "properties": {
                "common-equipment-properties": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.equipment.CommonEquipmentProperties"
                }
            }
        },
        "tapi.equipment.Holder": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "expected-holder": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.equipment.ExpectedHolder"
                        },
                        "actual-holder": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.equipment.ActualHolder"
                        },
                        "occupying-fru": {
                            "description": "The FRU that is occupying the holder. \r\n                A holder may be unoccupied. \r\n                An FRU may occupy more hat one holder (using or blocking are intentionally not distinguished here).",
                            "$ref": "#/definitions/tapi.equipment.EquipmentRef"
                        }
                    },
                    "description": "Represents a space in an equipment in which another equipment can be fitted in the field."
                }
            ]
        },
        "tapi.equipment.PhysicalContext": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "device": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.equipment.Device"
                            }
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.eth.BandwidthReport": {
            "type": "object",
            "properties": {
                "port-id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute returns the far end port identifier."
                },
                "source-mac-address": {
                    "type": "string",
                    "description": "The sourceMacAddress is the address from the far end."
                },
                "current-bandwidth": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute returns the current bandwidth."
                },
                "nominal-bandwidth": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute returns the configured bandwidth"
                }
            }
        },
        "tapi.eth.ColourMode": {
            "type": "string",
            "enum": [
                "COLOUR_BLIND",
                "COLOUR_AWARE"
            ]
        },
        "tapi.eth.ConnectionEndPointAugmentation2": {
            "type": "object",
            "properties": {
                "eth-connection-end-point-spec": {
                    "description": "Augments the base LayerProtocol information in ConnectionEndPoint with ETH-specific information",
                    "$ref": "#/definitions/tapi.eth.EthConnectionEndPointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.ConnectivityServiceAugmentation1": {
            "type": "object",
            "properties": {
                "eth-connectivity-service": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthConnectivityService"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.ControlFrameFilter": {
            "type": "object",
            "properties": {
                "c-2-00-00-2-a": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-0-c": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-0-b": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-2-c": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-0-e": {
                    "type": "boolean",
                    "description": "This attribute identifies the Individual LAN Scope group address, Nearest Bridge group address (LLDP protocol).",
                    "default": false
                },
                "c-2-00-00-2-b": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-0-d": {
                    "type": "boolean",
                    "description": "This attribute identifies the Provider Bridge MVRP address.",
                    "default": false
                },
                "c-2-00-00-2-e": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-2-d": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-0-f": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-2-f": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-10": {
                    "type": "boolean",
                    "description": "This attribute identifies the 'All LANs Bridge Management Group Address'.",
                    "default": false
                },
                "c-2-00-00-09": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-29": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-07": {
                    "type": "boolean",
                    "description": "This attribute identifies the Metro Ethernet Forum E-LMI protocol group address.",
                    "default": false
                },
                "c-2-00-00-08": {
                    "type": "boolean",
                    "description": "This attribute identifies the Provider Bridge Group address.",
                    "default": false
                },
                "c-2-00-00-27": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-05": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-28": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-06": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-25": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-03": {
                    "type": "boolean",
                    "description": "This attribute identifies the Nearest non-TPMR Bridge group address (Port Authentication protocol).",
                    "default": false
                },
                "c-2-00-00-26": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-04": {
                    "type": "boolean",
                    "description": "This attribute identifies the IEEE MAC-specific Control Protocols group address.",
                    "default": false
                },
                "c-2-00-00-23": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-01": {
                    "type": "boolean",
                    "description": "This attribute identifies the IEEE MAC-specific Control Protocols group address (PAUSE protocol).",
                    "default": false
                },
                "c-2-00-00-24": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-02": {
                    "type": "boolean",
                    "description": "This attribute identifies the IEEE 802.3 Slow_Protocols_Multicast address (LACP/LAMP or Link OAM protocols).",
                    "default": false
                },
                "c-2-00-00-21": {
                    "type": "boolean",
                    "description": "This attribute identifies the Customer Bridge MVRP address.",
                    "default": false
                },
                "c-2-00-00-22": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                },
                "c-2-00-00-00": {
                    "type": "boolean",
                    "description": "This attribute identifies the STP/RSTP/MSTP protocol address.",
                    "default": false
                },
                "c-2-00-00-20": {
                    "type": "boolean",
                    "description": "This attribute identifies the Customer and Provider Bridge MMRP address.",
                    "default": false
                },
                "c-2-00-00-0-a": {
                    "type": "boolean",
                    "description": "Reserved for future standardization.",
                    "default": false
                }
            }
        },
        "tapi.eth.CsfConfig": {
            "type": "string",
            "enum": [
                "DISABLED",
                "ENABLED",
                "ENABLED_WITH_RDI_FDI",
                "ENABLED_WITH_RDI_FDI_DCI",
                "ENABLED_WITH_DCI"
            ]
        },
        "tapi.eth.CurrentDataAugmentation1": {
            "type": "object",
            "properties": {
                "eth-pro-active-1-lm-source-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActive1LmSourcePerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation10": {
            "type": "object",
            "properties": {
                "eth-on-demand-lm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandLmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation11": {
            "type": "object",
            "properties": {
                "eth-link-trace-result-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthLinkTraceResultData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation12": {
            "type": "object",
            "properties": {
                "eth-pro-active-1-dm-source-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActive1DmSourcePerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation13": {
            "type": "object",
            "properties": {
                "eth-test-result-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthTestResultData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation14": {
            "type": "object",
            "properties": {
                "eth-pro-active-dm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveDmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation15": {
            "type": "object",
            "properties": {
                "eth-pro-active-lm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveLmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation2": {
            "type": "object",
            "properties": {
                "eth-on-demand-1-lm-source-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemand1LmSourcePerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation3": {
            "type": "object",
            "properties": {
                "eth-on-demand-1-lm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemand1LmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation4": {
            "type": "object",
            "properties": {
                "eth-on-demand-dm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandDmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation5": {
            "type": "object",
            "properties": {
                "eth-on-demand-1-dm-source-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemand1DmSourcePerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation6": {
            "type": "object",
            "properties": {
                "eth-on-demand-1-dm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemand1DmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation7": {
            "type": "object",
            "properties": {
                "eth-pro-active-1-lm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActive1LmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation8": {
            "type": "object",
            "properties": {
                "eth-pro-active-1-dm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActive1DmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.CurrentDataAugmentation9": {
            "type": "object",
            "properties": {
                "eth-loopback-result-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthLoopbackResultData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.EndPointAugmentation1": {
            "type": "object",
            "properties": {
                "eth-connectivity-service-end-point-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthConnectivityServiceEndPointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.EthCfmLinkTracePac": {
            "type": "object",
            "properties": {
                "period": {
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                The interval between LTM transmissions to be used by all MEPs in the Maintenance Association.",
                    "$ref": "#/definitions/tapi.eth.OamPeriod"
                },
                "target-mep-id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                An indication of a destination MEP, the MEPID of a MEP.\r\n                Alternative to destination MAC address.\r\n                "
                },
                "drop-eligibility": {
                    "type": "boolean",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                Drop eligible bit value to be used in the VLAN tag, if present in the transmitted frame.",
                    "default": false
                },
                "ltm-flags": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                The flags field for the LTMs transmitted by the MEP."
                }
            }
        },
        "tapi.eth.EthCfmLinkTraceResultData": {
            "type": "object",
            "properties": {
                "egress-action-field": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                An enumerated value indicating the value returned in the Egress Action field.\r\n                IEEE P802.1Qcx/D0.3:\r\n                The value EGRESS-NO-TLV indicates that no Reply Egress TLV was returned in the LTM."
                },
                "receive-order": {
                    "type": "integer",
                    "format": "int32",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                type uint32 range '1..4294967295'\r\n                An index to distinguish among multiple LTRs with the same LTR Transaction Identifier field value.\r\n                Assigned sequentially from 1, in the order that the Linktrace Initiator received the LTRs."
                },
                "seq-number": {
                    "type": "integer",
                    "format": "int32",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                type uint32 range '0..4294967295'\r\n                Transaction identifier returned by a previous transmit linktrace message command, indicating which LTMs response is going to be returned.\r\n                MEF 38:\r\n                The LTM Transaction Identifier to which the LTR entries will be attached."
                },
                "ingress-port-id": {
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                Ingress Port ID.\r\n                IEEE P802.1Qcx/D0.3:\r\n                If the ingressActionField attribute contains the value INGRESS-NO-TLV, then the contents of this attribute are meaningless.",
                    "$ref": "#/definitions/tapi.eth.LldpPortIdSubtype"
                },
                "organization-specific-tlv": {
                    "type": "string",
                    "description": "String length '0 | 4..1500';\r\n                All Organization specific TLVs returned in the LTR, if any. Includes all octets including and following the TLV Length field of each TLV, concatenated together."
                },
                "ingress-action-field": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                The value returned in the Ingress Action Field of the LTM.\r\n                IEEE P802.1Qcx/D0.3:\r\n                The value INGRESS-NO-TLV indicates that no Reply Ingress TLV was returned in the LTM.\r\n                "
                },
                "chassis-id": {
                    "description": "MEF 38:\r\n                The chassis-id-subtype contains the chassis ID entity that is listed in the chassis ID field. This is a combination of the 'Chassis ID Subtype' and 'chsssis ID' fields.\r\n                IEEE P802.1Qcx/D0.3:\r\n                The Chassis ID returned in the Sender ID TLV of the LTR, if any.\r\n                The format of a chassis identifier string. Objects of this type are always used with an associated lldp-chassis-is-subtype object, which identifies the format of the particular lldp-chassis-id object instance.\r\n                If the associated lldp-chassis-id-subtype object has a value of chassis-component, then the octet string identifies a particular instance of the entPhysicalAlias object (defined in IETF RFC 2737) for a chassis component (i.e., an entPhysicalClass value of chassis(3)).\r\n                If the associated lldp-chassis-id-subtype object has a value of interface-alias, then the octet string identifies a particular instance of the ifAlias object (defined in IETF RFC 2863) for an interface on the containing chassis.\r\n                If the particular ifAlias object does not contain any values, another chassis identifier type should be used.",
                    "$ref": "#/definitions/tapi.eth.LldpChassisIdSubtype"
                },
                "forwarded": {
                    "type": "boolean",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                Indicates if a LTM was forwarded by the responding MP, as returned in the FwdYes flag of the flags field.",
                    "default": false
                },
                "terminal-mep": {
                    "type": "boolean",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                A Boolean value stating whether the forwarded LTM reached a MEP enclosing its MA, as returned in the Terminal MEP flag of the Flags field.",
                    "default": false
                },
                "ingress-mac": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                MAC address returned in the ingress MAC address field.\r\n                IEEE P802.1Qcx/D0.3:\r\n                If the ingressActionField attribute contains the value INGRESS-NO-TLV, then the contents of this attribute is meaningless."
                },
                "egress-port-id": {
                    "description": "MEF 38:\r\n                IEEE P802.1Qcx/D0.3:\r\n                Egress Port ID.\r\n                IEEE P802.1Qcx/D0.3:\r\n                If the egressActionField attribute contains the value EGRESS-NO-TLV, then the contents of this attribute are meaningless.",
                    "$ref": "#/definitions/tapi.eth.LldpPortIdSubtype"
                },
                "egress-mac": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                MAC address returned in the egress MAC address field.\r\n                IEEE P802.1Qcx/D0.3:\r\n                If the egressActionField contains the value EGRESS-NO-TLV, then the contents of this attribute are meaningless."
                },
                "next-egress-identifier": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                String length '8'\r\n                An octet field holding the Next Egress Identifier returned in the LTR Egress Identifier TLV of the LTR.\r\n                The Next Egress Identifier Identifies the Linktrace Responder that transmitted this LTR, and can forward the LTM to the next hop.\r\n                This is the same value as the Egress Identifier TLV of the forwarded LTM, if any.\r\n                If the FwdYes bit of the Flags field is false, the contents of this field are undefined, i.e., any value can be transmitted, and the field is ignored by the receiver."
                },
                "last-egress-identifier": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                String length '8'\r\n                An octet field holding the Last Egress Identifier returned in the LTR Egress Identifier TLV of the LTR.\r\n                The Last Egress Identifier identifies the MEP Linktrace Initiator that originated, or the Linktrace Responder that forwarded, the LTM to which this LTR is the response.\r\n                This is the same value as the Egress Identifier TLV of that LTM."
                },
                "relay-action-field": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                An enumerated value indicating the value returned in the Relay Action field.\r\n                "
                },
                "reply-ttl": {
                    "type": "integer",
                    "format": "int32",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                TTL field value for a returned LTR.\r\n                Range '0..255'"
                }
            }
        },
        "tapi.eth.EthCfmMaintenanceAssociation": {
            "type": "object",
            "properties": {
                "maintenance-association-name": {
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                The Maintenance Association name and name format choice.",
                    "$ref": "#/definitions/tapi.eth.MaintenanceAssociationName"
                },
                "id-permission": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                This parameter indicates what, if anything, is to be included in the Sender ID TLV transmitted by Maintenance Points configured in this MA.\r\n                A value of 'defer' means that the contents of the Sender ID TLV are determined by the enclosing Maintenance Domain instance."
                }
            }
        },
        "tapi.eth.EthCfmMaintenanceDomain": {
            "type": "object",
            "properties": {
                "maintenance-domain-name": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                A reference to the maintenance domain that this maintenance group is associated with."
                },
                "maintenance-domain-name-type": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                The Maintenance Domain name format choice."
                }
            }
        },
        "tapi.eth.EthConnectionEndPointSpec": {
            "type": "object",
            "properties": {
                "eth-term": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthTerminationPac"
                },
                "ety-term": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EtyTerminationPac"
                },
                "eth-ctp": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthCtpPac"
                }
            }
        },
        "tapi.eth.EthConnectivityService": {
            "type": "object"
        },
        "tapi.eth.EthConnectivityServiceEndPointSpec": {
            "type": "object",
            "properties": {
                "eth-ctp-common-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthCtpCommonPac"
                },
                "eth-termination-common-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthTerminationCommonPac"
                },
                "ety-termination-common-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EtyTerminationCommonPac"
                }
            }
        },
        "tapi.eth.EthCtpCommonPac": {
            "type": "object",
            "properties": {
                "vlan-config": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute models the ETHx/ETH-m_A_So_MI_Vlan_Config information defined in G.8021.\r\n                range of type : -1, 0, 1..4094"
                },
                "csf-rdi-fdi-enable": {
                    "type": "boolean",
                    "description": "This attribute models the MI_CSFrdifdiEnable information defined in G.8021.",
                    "default": false
                },
                "filter-config": {
                    "description": "This attribute models the FilterConfig MI defined in section 8.3/G.8021. It indicates the configured filter action for each of the 33 group MAC addresses for control frames. The 33 MAC addresses are:\r\n                - All bridges address: 01-80-C2-00-00-10,\r\n                - Reserved addresses: 01-80-C2-00-00-00 to 01-80-C2-00-00-0F,\r\n                - GARP Application addresses: 01-80-C2-00-00-20 to 01-80-C2-00-00-2F.\r\n                The filter action is Pass or Block. \r\n                If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. \r\n                If none of the above addresses match, the ETH_CI_D is passed.",
                    "$ref": "#/definitions/tapi.eth.ControlFrameFilter"
                },
                "traffic-shaping-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.TrafficShapingPac"
                },
                "mac-length": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute models the MAC_Lenght MI defined in 8.6/G.8021 for the MAC Length Check process. It indicates the allowed maximum frame length in bytes.\r\n                range of type : 1518, 1522, 2000",
                    "default": 2000
                },
                "csf-report": {
                    "type": "boolean",
                    "description": "This attribute models the MI_CSF_Reported information defined in G.8021.\r\n                range of type : true, false",
                    "default": false
                },
                "filter-config-snk": {
                    "type": "array",
                    "description": "This attribute models the FilteConfig MI defined in 8.3/G.8021. It indicates the configured filter action for each of the 33 group MAC addresses for control frames. The 33 MAC addresses are:\r\n                01-80-C2-00-00-10, \r\n                01-80-C2-00-00-00 to 01-80-C2-00-00-0F, and \r\n                01-80-C2-00-00-20 to 01-80-C2-00-00-2F.\r\n                The filter action is Pass or Block. \r\n                If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. \r\n                If none of the above addresses match, the ETH_CI_D is passed.",
                    "items": {
                        "type": "string"
                    }
                },
                "pll-thr": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute provisions the threshold for the number of active ports. If the number of active ports is more than zero but less than the provisioned threshold, a cPLL (Partial Link Loss) is raised. See section 9.7.1.2 of G.8021.\r\n                range of type : 0..number of ports"
                },
                "csf-config": {
                    "description": "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.\r\n                range of type : true, false",
                    "$ref": "#/definitions/tapi.eth.CsfConfig"
                },
                "is-ssf-reported": {
                    "type": "boolean",
                    "description": "This attribute provisions whether the SSF defect should be reported as fault cause or not.\r\n                It models the ETH-LAG_FT_Sk_MI_SSF_Reported defined in G.8021.",
                    "default": false
                },
                "collector-max-delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "See 802.1AX:\r\n                The value of this attribute defines the maximum delay, in tens of microseconds, that may be imposed by the Frame Collector between receiving a frame from an Aggregator Parser, and either delivering the frame to its MAC Client or discarding the frame (see IEEE 802.1AX clause 5.2.3.1.1).\r\n                range of type : 16-bit"
                },
                "auxiliary-function-position-sequence": {
                    "type": "array",
                    "description": "This attribute indicates the positions (i.e., the relative order) of all the MEP, MIP, and TCS objects which are associated with the CTP.",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "traffic-conditioning-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.TrafficConditioningPac"
                }
            }
        },
        "tapi.eth.EthCtpPac": {
            "type": "object",
            "properties": {
                "eth-ctp-common-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthCtpCommonPac"
                },
                "partner-system-priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "See 802.1AX:\r\n                Indicates the priority associated with the Partners System ID. If the aggregation is manually configured, this System Priority value will be a value assigned by the local System.\r\n                range of type : 2-octet"
                },
                "partner-oper-key": {
                    "type": "integer",
                    "format": "int32",
                    "description": "See 802.1AX:\r\n                The current operational value of the Key for the Aggregators current protocol Partner. If the aggregation is manually configured, this Key value will be a value assigned by the local System.\r\n                range of type : 16-bit"
                },
                "actor-system-priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "See 802.1AX:\r\n                Indicating the priority associated with the Actors System ID.\r\n                range of type : 2-octet"
                },
                "actor-oper-key": {
                    "type": "integer",
                    "format": "int32",
                    "description": "See 802.1AX:\r\n                The current operational value of the Key for the Aggregator. The administrative Key value may differ from the operational Key value for the reasons discussed in 5.6.2.\r\n                The meaning of particular Key values is of local significance.\r\n                range of type : 16 bit"
                },
                "data-rate": {
                    "type": "integer",
                    "format": "int32",
                    "description": "See 802.1AX:\r\n                The current data rate, in bits per second, of the aggregate link. The value is calculated as N times the data rate of a single link in the aggregation, where N is the number of active links."
                },
                "actor-system-id": {
                    "type": "string",
                    "description": "See 802.1AX:\r\n                A MAC address used as a unique identifier for the System that contains this Aggregator."
                },
                "partner-system-id": {
                    "type": "string",
                    "description": "See 802.1AX:\r\n                A MAC address consisting of the unique identifier for the current protocol Partner of this Aggregator. A value of zero indicates that there is no known Partner. If the aggregation is manually configured, this System ID value will be a value assigned by the local System."
                }
            }
        },
        "tapi.eth.EthLinkTraceJob": {
            "type": "object",
            "properties": {
                "time-to-live": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter provides the Time To Live (TTL) parameter of the Link Track protocol.\r\n                The TTL parameter allows the receiver (MIP or MEP) of the LTM frame to determine if the frame can be terminated. TTL is decremented every time the LTM frame is relayed. LTM frame with TTL<=1 is terminated and not relayed.\r\n                IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                An initial value for the LTM TTL field."
                },
                "eth-cfm-link-trace-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthCfmLinkTracePac"
                },
                "destination-address": {
                    "type": "string",
                    "description": "G.8052: This parameter provides the destination address, i.e., the MAC Address of the target MEP or MIP."
                },
                "priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter provides the priority to be used in the LBM frame.\r\n                G.8052: This parameter provides the priority to be used in the TST frame.",
                    "default": 7
                }
            }
        },
        "tapi.eth.EthLinkTraceResultData": {
            "type": "object",
            "properties": {
                "result-list": {
                    "type": "array",
                    "description": "G.8052: This parameter returns the results of the LT process. It contains a list of the result received from the individual LTR frames.\r\n                The result from the individual LTR frame include the Source Mac Address, the TTL, and TLV.",
                    "items": {
                        "$ref": "#/definitions/tapi.eth.LinkTraceResult"
                    }
                },
                "eth-cfm-link-trace-result-data": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.eth.EthCfmLinkTraceResultData"
                    }
                }
            }
        },
        "tapi.eth.EthLoopbackJob": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter specifies how many LB messages to be sent for the LB_Series process."
                },
                "eth-oam-test-loopback-common-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOamTestLoopbackCommonPac"
                },
                "lbm-data-tlv": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                String length '1..1480'\r\n                The loopback message Data TLV type.\r\n                MEF 38:\r\n                An arbitrary amount of data to be included in a Data TLV."
                }
            }
        },
        "tapi.eth.EthLoopbackResultData": {
            "type": "object",
            "properties": {
                "ber-lbr-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter returns the number of LBR frames where there was a bit error in the pattern."
                },
                "crc-lbr-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter returns the number of LBR frames where the CRC in the pattern failed."
                },
                "detected-peer-mep": {
                    "type": "array",
                    "description": "G.8052: This parameter returns the MAC addresses of the discovered peer MEPs of the subject MEP.",
                    "items": {
                        "type": "string"
                    }
                },
                "sent-lbm-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter returns the total number of sent LBM frames."
                },
                "out-of-order-lbr-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter returns the number of LBR traffic unites (messages) that were received out of order (OO)."
                },
                "rec-lbr-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter returns the total number of received LBR messages, including the out of order LBR frames."
                }
            }
        },
        "tapi.eth.EthMeasurementJobControlCommon": {
            "type": "object",
            "properties": {
                "flr-availability-delta-time": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Time length over which each Availability Frame Loss Ratio value is calculated.\r\n                MEF 35.1:\r\n                [R78]/[CR58] [O8] A SOAM PM Implementation MUST support a configurable parameter for the length of time over which each Availability flr value is calculated, with a range of 1s � 300s.  This parameter is equivalent to delta-t as specified by MEF 10.3.\r\n                [R79]/[CR59] [O8] The length of time over which each Availability flr value is calculated (delta-t) MUST be an integer multiple of the interval between each SLM/1SL frame transmission.\r\n                [D31]/[CD16] [O8] The default length of time over which each Availability flr value is calculated SHOULD be 1s.",
                    "default": 1
                },
                "time-of-the-day-alignment": {
                    "type": "boolean",
                    "description": "MEF 35.1:\r\n                [D7] A SOAM PM Implementation SHOULD allow for no alignment to the time-of-day clock.",
                    "default": true
                },
                "test-identifier": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests.\r\n                It must be unique at least within the context of any measurement type for the MEG and initiating MEP.\r\n                Note: The attribute is not used in case of 2-way loss measurement.\r\n                range of type : 0..(2^32) - 1"
                },
                "repetition-period": {
                    "description": "This attribute contains the time between the start of two measurement intervals. This IS applicable for the repetitive instance type and MAY be applicable for the repetitive series type. \r\n                Note that a value of 0 means not applicable (NA), which is for the cases of single instance, single series, or repetitive series without extra gap in between the measurement intervals (i.e., also as known as continuous series).",
                    "$ref": "#/definitions/tapi.eth.RepetitionPeriod"
                },
                "offset-from-time-of-the-day": {
                    "type": "integer",
                    "format": "int32",
                    "description": "MEF 35.1:\r\n                [D8] A SOAM PM Implementation SHOULD support a configurable (in minutes) offset from ToD time for alignment of the start of Measurement Intervals other than the first Measurement Interval."
                },
                "flr-availability-threshold": {
                    "type": "string",
                    "description": "Frame loss ratio threshold to be used in evaluating the Available/Unavailable state of each time interval (as specified by Availability Delta Time).\r\n                MEF 35.1:\r\n                [R81]/[CR61] A SOAM PM Implementation MUST support a configurable Availability frame loss ratio threshold to be used in evaluating the Available/Unavailable state of each delta-t interval per MEF 10.3\r\n                [R82]/[CR62] The Availability frame loss ratio threshold range of 0.00 through 1.00 MUST be supported in increments of 0.01.\r\n                [D33]/[CD18] [O8] The default Availability frame loss ratio threshold SHOULD be 0.1.",
                    "default": "0.1"
                },
                "priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the priority value on which the MEP performs the measurement.\r\n                When the measurement is enabled, the MEP should use this value to encode the priority of generated measurement frames (OAM PDU frames.).\r\n                The EMF usese this value to assign the P parameter of the measurement operation.",
                    "default": 7
                },
                "flr-availability-samples": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Number of consecutive Availability Frame Loss Ratio measurements to be used to determine Available/Unavailable state transitions.\r\n                MEF 35.1:\r\n                [R80]/[CR60] [O8] The number range of 1 through 10 MUST be supported for the configurable number of consecutive Availability flr measurements to be used to determine Available/Unavailable state transitions.\r\n                This parameter is equivalent to the Availability parameter of n as specified by MEF 10.3.\r\n                [D32]/[CD17] [O8] The default number of n for Availability SHOULD be 10.",
                    "default": 10
                },
                "message-period": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute indicates the period (frequency) of the measurement frame transmission.\r\n                Note that the value 0 means that only one OAM message per measurement interval is generated.\r\n                Unit is milliseconds.\r\n                range of type : 100ms, 1s, 10s",
                    "default": 1000
                },
                "measurement-interval": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the discrete non overlapping periods of time (in seconds) during which measurements are performed\r\n                (i.e., OAM messages are generated) and reports are gathered at the end of the measurement intervals.\r\n                Note that the value 0 means a degenerated measurement interval with a single OAM message and the report is sent as immediately as possible."
                }
            }
        },
        "tapi.eth.EthMegCommon": {
            "type": "object",
            "properties": {
                "meg-identifier": {
                    "type": "string",
                    "description": "Optional in case 802.1Q maintenanceAssociationName is used."
                },
                "meg-level": {
                    "type": "integer",
                    "format": "int32",
                    "description": "none"
                },
                "cc-period": {
                    "description": "This attribute models the MI_CC_Period signal defined in G.8021 and configured as specified in G8051. \r\n                It is the period at which the CCM message should be sent. \r\n                Default values are: 3.33 ms for PS, 100 ms for PM, 1 s for FM.\r\n                ITU-T G.8013/Y.1731 (2015)/Amd.1 (11/2018): The ETH-CC transmission period is the same for all MEPs in the MEG.",
                    "$ref": "#/definitions/tapi.eth.OamPeriod"
                },
                "client-mel": {
                    "type": "integer",
                    "format": "int32",
                    "description": "none"
                },
                "is-cc-enabled": {
                    "type": "boolean",
                    "description": "This attribute models the MI_CC_Enable signal defined in G.8021 and configured as specified in G8051.\r\n                ITU-T G.8013/Y.1731 (2015)/Amd.1 (11/2018): When ETH-CC transmission is enabled in a MEG,\r\n                all MEPs are enabled to periodically transmit frames with ETH-CC information to their peer MEPs in the MEG.",
                    "default": false
                }
            }
        },
        "tapi.eth.EthMegSpec": {
            "type": "object",
            "properties": {
                "eth-cfm-maintenance-association": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthCfmMaintenanceAssociation"
                },
                "eth-meg-common": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMegCommon"
                },
                "eth-cfm-maintenance-domain": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthCfmMaintenanceDomain"
                }
            }
        },
        "tapi.eth.EthMepCommon": {
            "type": "object",
            "properties": {
                "codirectional": {
                    "type": "boolean",
                    "description": "This attribute specifies the directionality of the Ethernet MEP with respect to the associated CEP. The value of TRUE means that the sink part of the MEP terminates the same signal direction as the sink part of the CEP. The Source part behaves similarly. This attribute is meaningful only when CEP is bidirectional.",
                    "default": true
                },
                "lck-priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute models the MI_LCK_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the LCK messages should be sent.",
                    "default": 7
                },
                "mep-identifier": {
                    "type": "integer",
                    "format": "int32",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                Integer that is unique among all the MEPs in the same Maintenance Association (MEG).\r\n                G.8052:\r\n                This attribute contains the identifier of the MEP."
                },
                "lck-period": {
                    "description": "This attribute models the MI_LCK_Period signal defined in G.8021 and configured as specified in G8051. It is the frequency at which the LCK messages should be sent.\r\n                range of type : 1s, 1min",
                    "$ref": "#/definitions/tapi.eth.OamPeriod"
                },
                "cc-priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute models the MI_CC_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the CCM message should be sent.",
                    "default": 7
                }
            }
        },
        "tapi.eth.EthMepSink": {
            "type": "object",
            "properties": {
                "peer-mep-identifier": {
                    "type": "array",
                    "description": "G.8052:\r\n                This attribute models the MI_PeerMEP_ID[i] signal defined in G.8021 and configured as specified in G.8051. It provides the identifiers of the MEPs which are peer to the subject MEP.",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "lm-m": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the number of consecutive good seconds necessary for the clearing of 'degraded'. See also section 'Degraded signal defect (dDEG)' in G.8021.",
                    "default": 10
                },
                "is-csf-reported": {
                    "type": "boolean",
                    "description": "This attribute models the MI_CSF_Reported signal defined in G.8021 and configured as specified in G8051. It configures whether the secondary failure CSF should be reported or not.",
                    "default": true
                },
                "lm-deg-thr": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the threshold for declaring a 'bad second'. See also section 'Degraded signal defect (dDEG)' in G.8021.",
                    "default": 30
                },
                "bandwidth-report": {
                    "description": "This attribute models the content of the bandwidth report received by the MEP Sink from the peer MEP Source.",
                    "$ref": "#/definitions/tapi.eth.BandwidthReport"
                },
                "lm-degm": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the number of consecutive bad seconds necessary for the 'degraded' detection. See also section 'Degraded signal defect (dDEG)' in G.8021.",
                    "default": 10
                },
                "is-csf-rdi-fdi-enabled": {
                    "type": "boolean",
                    "description": "This attribute models the MI_CSFrdifdiEnable signal defined in G.8021 and configured as specified in G8051.\r\n                aSSFrdi ? dCSF-RDI and MI_CSFrdifdiEnable\r\n                aSSFfdi ? dCSF-FDI and MI_CSFrdifdiEnable",
                    "default": true
                },
                "ais-period": {
                    "description": "This attribute models the MI_AIS_Period signal defined in G.8021 and configured as specified in G8051. It is the frequency at which the AIS messages should be sent.\r\n                range of type : 1s, 1min",
                    "$ref": "#/definitions/tapi.eth.OamPeriod"
                },
                "ais-priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute models the MI_AIS_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the AIS messages should be sent.",
                    "default": 7
                },
                "unexpected-ltr-received": {
                    "type": "integer",
                    "format": "int32",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                The total number of unexpected LTRs received."
                },
                "lm-tf-min": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the necessary number of transmitted frames to enable the detection of 'bad seconds'. See also section 'Degraded signal defect (dDEG)' in G.8021."
                }
            }
        },
        "tapi.eth.EthMepSource": {
            "type": "object",
            "properties": {
                "csf-period": {
                    "description": "This attribute models the MI_CSF_Period signal defined in G.8021 and configured as specified in G8051. It is the period at which the CSF messages should be sent.\r\n                range of type : 1s, 1min",
                    "$ref": "#/definitions/tapi.eth.OamPeriod"
                },
                "csf-priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute models the MI_CSF_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the CSF messages should be sent",
                    "default": 7
                },
                "csf-config": {
                    "description": "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.",
                    "$ref": "#/definitions/tapi.eth.CsfConfig"
                },
                "aps-priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute specifies the priority of the APS messages.\r\n                See section 8.1.5    APS insert process in G.8021.",
                    "default": 7
                }
            }
        },
        "tapi.eth.EthMepSpec": {
            "type": "object",
            "properties": {
                "eth-mep-common": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMepCommon"
                },
                "mep-mac": {
                    "type": "string",
                    "description": "This attribute contains the MAC Address of the MEP."
                },
                "eth-mep-source": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMepSource"
                },
                "eth-mep-sink": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMepSink"
                }
            }
        },
        "tapi.eth.EthMipCommon": {
            "type": "object",
            "properties": {
                "is-full-mip": {
                    "type": "boolean",
                    "description": "This attribute indicates whether the MIP is a full MIP (true) or a down-half MIP (false). Up-half MIP is not foreseen by G.8052",
                    "default": false
                }
            }
        },
        "tapi.eth.EthMipSpec": {
            "type": "object",
            "properties": {
                "eth-mip-common": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMipCommon"
                },
                "mip-mac": {
                    "type": "string",
                    "description": "This attribute contains the MAC address of the MIP instance."
                }
            }
        },
        "tapi.eth.EthOamMepServicePoint": {
            "type": "object",
            "properties": {
                "eth-mep-common": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMepCommon"
                },
                "eth-mep-source": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMepSource"
                },
                "eth-mep-sink": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMepSink"
                }
            }
        },
        "tapi.eth.EthOamMipServicePoint": {
            "type": "object",
            "properties": {
                "eth-mip-common": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMipCommon"
                }
            }
        },
        "tapi.eth.EthOamService": {
            "type": "object",
            "properties": {
                "eth-cfm-maintenance-association": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthCfmMaintenanceAssociation"
                },
                "eth-meg-common": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMegCommon"
                },
                "eth-cfm-maintenance-domain": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthCfmMaintenanceDomain"
                }
            }
        },
        "tapi.eth.EthOamTestLoopbackCommonPac": {
            "type": "object",
            "properties": {
                "data-tlv-length": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter provides the length (in number of octet) of the optional Data TLV to be included in the TST frame."
                },
                "period": {
                    "description": "G.8052: This parameter provides the periodicity of the TST OAM messages.\r\n                G.8052: This parameter provides the periodicity of the LBM OAM messages used in the LB Series process.",
                    "$ref": "#/definitions/tapi.eth.OamPeriod"
                },
                "drop-eligibility": {
                    "type": "boolean",
                    "description": "G.8052: This parameter provides the eligibility of frames with unicast ETH-TST information to be discarded when congestion conditions are encountered.\r\n                G.8052: This parameter provides the eligibility of frames with unicast ETH-LB information to be discarded when congestion conditions are encountered.",
                    "default": false
                }
            }
        },
        "tapi.eth.EthOnDemand1DmPerformanceData": {
            "type": "object",
            "properties": {
                "samples-near-end-1-dm-parameters": {
                    "description": "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.",
                    "$ref": "#/definitions/tapi.eth.SamplesDmPerformanceParameters"
                },
                "statistical-near-end-1-dm-parameters": {
                    "description": "This attribute contains the statistical near end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalDmPerformanceParameters"
                }
            }
        },
        "tapi.eth.EthOnDemand1DmSourcePerformanceData": {
            "type": "object"
        },
        "tapi.eth.EthOnDemand1LmPerformanceData": {
            "type": "object",
            "properties": {
                "statistical-near-end-1-lm-parameters": {
                    "description": "This attribute contains the statistical near end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalLmPerformanceParameters"
                },
                "total-counters-near-end-1-lm-parameters": {
                    "description": "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.",
                    "$ref": "#/definitions/tapi.eth.TotalCountersLmPerformanceParameters"
                }
            }
        },
        "tapi.eth.EthOnDemand1LmSourcePerformanceData": {
            "type": "object"
        },
        "tapi.eth.EthOnDemandDmPerformanceData": {
            "type": "object",
            "properties": {
                "statistical-bi-dir-dm-parameters": {
                    "description": "This attribute contains the statistical bidirectional performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalDmPerformanceParameters"
                },
                "samples-far-end-dm-parameters": {
                    "description": "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.",
                    "$ref": "#/definitions/tapi.eth.SamplesDmPerformanceParameters"
                },
                "statistical-far-end-dm-parameters": {
                    "description": "This attribute contains the statistical far end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalDmPerformanceParameters"
                },
                "statistical-near-end-dm-parameters": {
                    "description": "This attribute contains the statistical near end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalDmPerformanceParameters"
                },
                "samples-near-end-dm-parameters": {
                    "description": "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.",
                    "$ref": "#/definitions/tapi.eth.SamplesDmPerformanceParameters"
                }
            }
        },
        "tapi.eth.EthOnDemandDualEndedMeasurementJob": {
            "type": "object",
            "properties": {
                "eth-on-demand-measurement-job-control-sink": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandMeasurementJobControlSink"
                },
                "eth-on-demand-measurement-job-control-source": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandMeasurementJobControlSource"
                }
            }
        },
        "tapi.eth.EthOnDemandLmPerformanceData": {
            "type": "object",
            "properties": {
                "bidir-unavailable-intervals": {
                    "type": "integer",
                    "format": "int32",
                    "description": "A generalized (bidirectional) UAS.\r\n                MEF 35.1: A 32-bit counter reflecting the number of delta-t intervals evaluated as Unavailable (i.e., for which A<Controller, Responder>(delta-t) = 0).\r\n                "
                },
                "statistical-far-end-lm-parameters": {
                    "description": "This attribute contains the statistical far end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalLmPerformanceParameters"
                },
                "statistical-near-end-lm-parameters": {
                    "description": "This attribute contains the statistical near end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalLmPerformanceParameters"
                },
                "total-counters-near-end-lm-parameters": {
                    "description": "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.",
                    "$ref": "#/definitions/tapi.eth.TotalCountersLmPerformanceParameters"
                },
                "total-counters-far-end-lm-parameters": {
                    "description": "This attribute contains the results of an on-demand synthetic loss measurement job in the egress direction.",
                    "$ref": "#/definitions/tapi.eth.TotalCountersLmPerformanceParameters"
                }
            }
        },
        "tapi.eth.EthOnDemandMeasurementJobControlSink": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.eth.EthMeasurementJobControlCommon"
                },
                {
                    "type": "object",
                    "properties": {
                        "sink-mep-id": {
                            "type": "integer",
                            "format": "int32",
                            "description": "none"
                        },
                        "source-address": {
                            "type": "string",
                            "description": "This attribute contains the MAC address of the peer MEP. See G.8013 for details."
                        }
                    },
                    "description": "This object class represents an on-demand measurement job controller sink for 1-way measurements. It is created as a result of an establishOnDemandDualEndedMeasurementJobSink() operation. It is deleted either automatically after the measurement job has completed (stop time reached) and the performance data AVC notification has been sent, or by an explicit abortOnDemandMeasurementJob() operation when the measurement job is running."
                }
            ]
        },
        "tapi.eth.EthOnDemandMeasurementJobControlSource": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.eth.EthMeasurementJobControlCommon"
                },
                {
                    "type": "object",
                    "properties": {
                        "data-tlv-length": {
                            "type": "integer",
                            "format": "int32",
                            "description": "This parameter provides the size of the optional data TLV.\r\n                Non-negative integer represents the number of bytes for the length of the padding TLV.\r\n                Notes:\r\n                When configuring this parameter one should be aware of the maximum allowed total frame size limitation.\r\n                The attribute is not used in case of 2-way loss measurement.\r\n                range of type : Depends on the allowed MTU size."
                        },
                        "destination-address": {
                            "type": "string",
                            "description": "This attribute contains the MAC address of the peer MEP. See G.8013 for details."
                        },
                        "oam-pdu-generation-type": {
                            "description": "This attribute contains the pattern that is used for the generation of OAM PDUs.",
                            "$ref": "#/definitions/tapi.eth.OamPduGenerationType"
                        },
                        "controller-mep-id": {
                            "type": "integer",
                            "format": "int32",
                            "description": "none"
                        }
                    },
                    "description": "Basic attributes: destinationAddress, priority\r\n            Measurement configuration related attributes: oamPduGenerationType, startTime, stopTime, messagePeriod, repetitionPeriod, measurementInterval\r\n            Optional attributes: dataTlvLength, testIdentifier\r\n            This object class represents an on-demand measurement job controller source for 1-way measurements. It is created as a result of an establishOnDemandDualEndedMeasurementJobSource() operation. It is deleted either automatically after the measurement job has completed (stop time reached), or by an explicit abortOnDemandMeasurementJob() operation while the measurement job is running."
                }
            ]
        },
        "tapi.eth.EthOnDemandSingleEndedMeasurementJob": {
            "type": "object",
            "properties": {
                "eth-on-demand-measurement-job-control-source": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandMeasurementJobControlSource"
                }
            }
        },
        "tapi.eth.EthProActive1DmPerformanceData": {
            "type": "object",
            "properties": {
                "statistical-near-end-1-dm-parameters": {
                    "description": "This attribute contains the statistical near end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalDmPerformanceParameters"
                }
            }
        },
        "tapi.eth.EthProActive1DmSourcePerformanceData": {
            "type": "object"
        },
        "tapi.eth.EthProActive1LmPerformanceData": {
            "type": "object",
            "properties": {
                "statistical-near-end-1-lm-parameters": {
                    "description": "This attribute contains the statistical near end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalLmPerformanceParameters"
                },
                "total-counters-near-end-1-lm-parameters": {
                    "description": "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.",
                    "$ref": "#/definitions/tapi.eth.TotalCountersLmPerformanceParameters"
                }
            }
        },
        "tapi.eth.EthProActive1LmSourcePerformanceData": {
            "type": "object"
        },
        "tapi.eth.EthProActiveDmPerformanceData": {
            "type": "object",
            "properties": {
                "statistical-bi-dir-dm-parameters": {
                    "description": "This attribute contains the statistical bidirectional performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalDmPerformanceParameters"
                },
                "statistical-far-end-dm-parameters": {
                    "description": "This attribute contains the statistical far end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalDmPerformanceParameters"
                },
                "statistical-near-end-dm-parameters": {
                    "description": "This attribute contains the statistical near end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalDmPerformanceParameters"
                }
            }
        },
        "tapi.eth.EthProActiveDualEndedMeasurementJob": {
            "type": "object",
            "properties": {
                "eth-pro-active-measurement-job-control-source": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveMeasurementJobControlSource"
                },
                "eth-pro-active-measurement-job-control-sink": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveMeasurementJobControlSink"
                }
            }
        },
        "tapi.eth.EthProActiveLmPerformanceData": {
            "type": "object",
            "properties": {
                "bidir-unavailable-intervals": {
                    "type": "integer",
                    "format": "int32",
                    "description": "A generalized (bidirectional) UAS.\r\n                MEF 35.1: A 32-bit counter reflecting the number of delta-t intervals evaluated as Unavailable (i.e., for which A<Controller, Responder>(delta-t) = 0).\r\n                "
                },
                "statistical-far-end-lm-parameters": {
                    "description": "This attribute contains the statistical far end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalLmPerformanceParameters"
                },
                "statistical-near-end-lm-parameters": {
                    "description": "This attribute contains the statistical near end performnace parameters.",
                    "$ref": "#/definitions/tapi.eth.StatisticalLmPerformanceParameters"
                },
                "total-counters-near-end-lm-parameters": {
                    "description": "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.",
                    "$ref": "#/definitions/tapi.eth.TotalCountersLmPerformanceParameters"
                },
                "total-counters-far-end-lm-parameters": {
                    "description": "This attribute contains the results of an on-demand synthetic loss measurement job in the egress direction.",
                    "$ref": "#/definitions/tapi.eth.TotalCountersLmPerformanceParameters"
                }
            }
        },
        "tapi.eth.EthProActiveMeasurementJobControlSink": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.eth.EthMeasurementJobControlCommon"
                },
                {
                    "type": "object",
                    "properties": {
                        "sink-mep-id": {
                            "type": "integer",
                            "format": "int32",
                            "description": "none"
                        },
                        "source-address": {
                            "type": "string",
                            "description": "This attribute contains the MAC address of the peer MEP. See G.8013 for details."
                        },
                        "is-enabled": {
                            "type": "boolean",
                            "description": "This attribute identifies the state of the measurement job. If set to TRUE, the MEP performs proactive Performance Measurement.",
                            "default": true
                        }
                    },
                    "description": "This object class allows the control of the proactive 1-way measurement. It is created as a part of an establishProActiveDualEndedMeasurementJobSink() operation. Lifecycle: A pre-condition of deleting the object is that the Enable attribute should have the value FALSE."
                }
            ]
        },
        "tapi.eth.EthProActiveMeasurementJobControlSource": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.eth.EthMeasurementJobControlCommon"
                },
                {
                    "type": "object",
                    "properties": {
                        "data-tlv-length": {
                            "type": "integer",
                            "format": "int32",
                            "description": "This parameter provides the size of the optional data TLV.\r\n                Non-negative integer represents the number of bytes for the length of the padding TLV.\r\n                Notes:\r\n                When configuring this parameter one should be aware of the maximum allowed total frame size limitation.\r\n                The attribute is not used in case of 2-way loss measurement.\r\n                range of type : Depends on the allowed MTU size."
                        },
                        "destination-address": {
                            "type": "string",
                            "description": "This attribute provides the Unicast MAC address of the intented destination."
                        },
                        "controller-mep-id": {
                            "type": "integer",
                            "format": "int32",
                            "description": "none"
                        },
                        "is-enabled": {
                            "type": "boolean",
                            "description": "This attribute identifies the state of the measurement job. If set to TRUE, the MEP performs proactive Performance Measurement.",
                            "default": true
                        }
                    },
                    "description": "This object class represents a proactive measurement job controller source for 1way measurements. It is created as a part of an establishProactiveDualEndedMeasurementJobSource() operation."
                }
            ]
        },
        "tapi.eth.EthProActiveSingleEndedMeasurementJob": {
            "type": "object",
            "properties": {
                "eth-pro-active-measurement-job-control-source": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveMeasurementJobControlSource"
                }
            }
        },
        "tapi.eth.EthServiceIntefacePointSpec": {
            "type": "object",
            "properties": {
                "phy-type": {
                    "description": "This attribute identifies the PHY type of the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.2.",
                    "$ref": "#/definitions/tapi.eth.EtyPhyType"
                },
                "phy-type-list": {
                    "type": "array",
                    "description": "This attribute identifies the possible PHY types that could be supported at the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.3.",
                    "items": {
                        "$ref": "#/definitions/tapi.eth.EtyPhyType"
                    }
                }
            }
        },
        "tapi.eth.EthTerminationCommonPac": {
            "type": "object",
            "properties": {
                "filter-config-1": {
                    "type": "array",
                    "description": "This attribute models the ETHx/ETH-m_A_Sk_MI_Filter_Config information defined in G.8021.\r\n                It indicates the configured filter action for each of the 33 group MAC addresses for control frames.\r\n                The 33 MAC addresses are:\r\n                01-80-C2-00-00-10, \r\n                01-80-C2-00-00-00 to 01-80-C2-00-00-0F, and \r\n                01-80-C2-00-00-20 to 01-80-C2-00-00-2F.\r\n                The filter action is Pass or Block. \r\n                If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. \r\n                If none of the above addresses match, the ETH_CI_D is passed.\r\n                ",
                    "items": {
                        "type": "string"
                    }
                },
                "ether-type": {
                    "description": "This attribute models the ETHx/ETH-m _A_Sk_MI_Etype information defined in G.8021.",
                    "$ref": "#/definitions/tapi.eth.VlanType"
                },
                "priority-code-point-config": {
                    "description": "This attribute models the ETHx/ETH-m _A_Sk_MI_PCP_Config information defined in G.8021.",
                    "$ref": "#/definitions/tapi.eth.PcpCoding"
                },
                "frametype-config": {
                    "description": "This attribute models the ETHx/ETH-m_A_Sk_MI_Frametype_Config information defined in G.8021.",
                    "$ref": "#/definitions/tapi.eth.FrameType"
                },
                "port-vid": {
                    "type": "string",
                    "description": "This attribute models the ETHx/ETH-m _A_Sk_MI_PVID information defined in G.8021.",
                    "default": "1"
                },
                "priority-regenerate": {
                    "description": "This attribute models the ETHx/ETH-m _A_Sk_MI_P_Regenerate information defined in G.8021.",
                    "$ref": "#/definitions/tapi.eth.PriorityMapping"
                }
            }
        },
        "tapi.eth.EthTerminationPac": {
            "type": "object",
            "properties": {
                "eth-termination-common-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthTerminationCommonPac"
                }
            }
        },
        "tapi.eth.EthTestJob": {
            "type": "object",
            "properties": {
                "number": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This parameter specifies how many TST messages to be sent."
                },
                "destination-address": {
                    "type": "string",
                    "description": "G.8052: This parameter provides the destination address, i.e., the MAC Address of the target MEP or MIP."
                },
                "test-pattern": {
                    "type": "string",
                    "description": "G.8052: This parameter provides the test pattern to be used in the optional Data TLV.\r\n                Examples of test patterns include pseudo-random bit sequence (PRBS) 2^31-1 as specified in clause 5.8 of [ITU-T O.150], all '0' pattern, etc."
                },
                "eth-test-job-sink-point": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthTestJobSinkPoint"
                },
                "eth-oam-test-loopback-common-pac": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOamTestLoopbackCommonPac"
                }
            }
        },
        "tapi.eth.EthTestJobSinkPoint": {
            "type": "object",
            "properties": {
                "source-address": {
                    "type": "string",
                    "description": "This attribute contains the MAC address of the peer MEP."
                }
            }
        },
        "tapi.eth.EthTestResultData": {
            "type": "object",
            "properties": {
                "sent-tst-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This parameter returns the total number of sent TST frames.\r\n                Optional in case of sink only MEP."
                },
                "rec-tst-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Received TST frames. Optional in case of source only MEP."
                }
            }
        },
        "tapi.eth.EtyPac": {
            "type": "object",
            "properties": {
                "phy-type": {
                    "description": "This attribute identifies the PHY type of the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.2.",
                    "$ref": "#/definitions/tapi.eth.EtyPhyType"
                },
                "phy-type-list": {
                    "type": "array",
                    "description": "This attribute identifies the possible PHY types that could be supported at the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.3.",
                    "items": {
                        "$ref": "#/definitions/tapi.eth.EtyPhyType"
                    }
                }
            }
        },
        "tapi.eth.EtyPhyType": {
            "type": "string",
            "enum": [
                "OTHER",
                "UNKNOWN",
                "NONE",
                "2BASE_TL",
                "10MBIT_S",
                "10PASS_TS",
                "100BASE_T4",
                "100BASE_X",
                "100BASE_T2",
                "1000BASE_X",
                "1000BASE_T",
                "10GBASE-X",
                "10GBASE_R",
                "10GBASE_W"
            ]
        },
        "tapi.eth.EtyTerminationCommonPac": {
            "type": "object",
            "properties": {
                "is-fts-enabled": {
                    "type": "boolean",
                    "description": "This attribute indicates whether Forced Transmitter Shutdown (FTS) is enabled or not. It models the ETYn_TT_So_MI_FTSEnable information.",
                    "default": false
                },
                "is-tx-pause-enabled": {
                    "type": "boolean",
                    "description": "This attribute identifies whether the Transmit Pause process is enabled or not. It models the MI_TxPauseEnable defined in G.8021.",
                    "default": false
                }
            }
        },
        "tapi.eth.EtyTerminationPac": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.eth.EtyPac"
                },
                {
                    "type": "object",
                    "properties": {
                        "ety-termination-common-pac": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.eth.EtyTerminationCommonPac"
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.eth.FrameType": {
            "type": "string",
            "enum": [
                "ADMIT_ONLY_VLAN_TAGGED_FRAMES",
                "ADMIT_ONLY_UNTAGGED_AND_PRIORITY_TAGGED_FRAMES",
                "ADMIT_ALL_FRAMES"
            ]
        },
        "tapi.eth.HistoryDataAugmentation1": {
            "type": "object",
            "properties": {
                "eth-on-demand-1-dm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemand1DmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation10": {
            "type": "object",
            "properties": {
                "eth-pro-active-1-dm-source-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActive1DmSourcePerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation11": {
            "type": "object",
            "properties": {
                "eth-on-demand-dm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandDmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation12": {
            "type": "object",
            "properties": {
                "eth-pro-active-lm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveLmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation2": {
            "type": "object",
            "properties": {
                "eth-on-demand-1-dm-source-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemand1DmSourcePerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation3": {
            "type": "object",
            "properties": {
                "eth-on-demand-1-lm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemand1LmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation4": {
            "type": "object",
            "properties": {
                "eth-pro-active-1-lm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActive1LmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation5": {
            "type": "object",
            "properties": {
                "eth-pro-active-dm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveDmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation6": {
            "type": "object",
            "properties": {
                "eth-pro-active-1-lm-source-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActive1LmSourcePerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation7": {
            "type": "object",
            "properties": {
                "eth-on-demand-lm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandLmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation8": {
            "type": "object",
            "properties": {
                "eth-on-demand-1-lm-source-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemand1LmSourcePerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.HistoryDataAugmentation9": {
            "type": "object",
            "properties": {
                "eth-pro-active-1-dm-performance-data": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActive1DmPerformanceData"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.InputAugmentation1": {
            "type": "object",
            "properties": {
                "eth-link-trace-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthLinkTraceJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.InputAugmentation2": {
            "type": "object",
            "properties": {
                "eth-loopback-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthLoopbackJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.InputAugmentation3": {
            "type": "object",
            "properties": {
                "eth-test-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthTestJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.InputAugmentation4": {
            "type": "object",
            "properties": {
                "eth-pro-active-single-ended-measurement-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveSingleEndedMeasurementJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.InputAugmentation5": {
            "type": "object",
            "properties": {
                "eth-on-demand-dual-ended-measurement-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandDualEndedMeasurementJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.InputAugmentation6": {
            "type": "object",
            "properties": {
                "eth-on-demand-single-ended-measurement-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandSingleEndedMeasurementJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.InputAugmentation7": {
            "type": "object",
            "properties": {
                "eth-pro-active-dual-ended-measurement-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveDualEndedMeasurementJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.LinkTraceResult": {
            "type": "object",
            "properties": {
                "data-tlv-length": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This attribute contains the length (in number of octets) of the Data TLV of an individual LTR frame result."
                },
                "time-to-live": {
                    "type": "integer",
                    "format": "int32",
                    "description": "G.8052: This attribute contains the Time To Live (TTL) value of an individual LTR frame result."
                },
                "source-address": {
                    "type": "string",
                    "description": "G.8052: This attribute contains the source MAC Address of an individual LTR frame result."
                }
            }
        },
        "tapi.eth.LldpChassisIdSubtype": {
            "type": "object",
            "properties": {
                "mac-address": {
                    "type": "string",
                    "description": "Represents a chassis identifier based on the value of a unicast source address (encoded in network byte order and IEEE 802.3 canonical bit order), of a port on the containing chassis as defined in IEEE Std 802-2001."
                },
                "chassis-component": {
                    "type": "string",
                    "description": "String length '0..32'\r\n                Represents a chassis identifier based on the value of entPhysicalAlias object (defined in IETF RFC 2737) for a chassis component (i.e., an entPhysicalClass value of chassis(3))."
                },
                "interface-name": {
                    "type": "string",
                    "description": "Represents a chassis identifier based on the value of ifName object (defined in IETF RFC 2863) for an interface on the containing chassis."
                },
                "network-address": {
                    "type": "string",
                    "description": "Octet string that identifies a particular network address family and an associated network address that are encoded in network octet order.\r\n                An IP address, for example, would be encoded with the first octet containing the IANA Address Family Numbers enumeration value for the specific address type and octets 2 through n containing the address value."
                },
                "interface-alias": {
                    "type": "string",
                    "description": "String length '0..64'\r\n                Represents a chassis identifier based on the value of ifAlias object (defined in IETF RFC 2863) for an interface on the containing chassis."
                },
                "port-component": {
                    "type": "string",
                    "description": "String length '0..32'\r\n                Represents a chassis identifier based on the value of entPhysicalAlias object (defined in IETF RFC 2737) for a port or backplane component (i.e., entPhysicalClass value of port(10) or backplane(4)), within the containing chassis."
                },
                "local": {
                    "type": "string",
                    "description": "Represents a chassis identifier based on a locally defined value."
                }
            }
        },
        "tapi.eth.LldpPortIdSubtype": {
            "type": "object",
            "properties": {
                "agent-circuit-id": {
                    "type": "string",
                    "description": "Represents a port identifier based on the agent-local identifier of the circuit (defined in RFC 3046), detected by the agent and associated with a particular port."
                },
                "mac-address": {
                    "type": "string",
                    "description": "Represents a port identifier based on a unicast source address (encoded in network byte order and IEEE 802.3 canonical bit order), which has been detected by the agent and associated with a particular port (IEEE Std 802-2001)."
                },
                "interface-name": {
                    "type": "string",
                    "description": "String length '0..64'\r\n                Represents a port identifier based on the ifName MIB object, defined in IETF RFC 2863."
                },
                "network-address": {
                    "type": "string",
                    "description": "Represents a port identifier based on a network address, detected by the agent and associated with a particular port.\r\n                Octet string that identifies a particular network address family and an associated network address that are encoded in network octet order.\r\n                An IP address, for example, would be encoded with the first octet containing the IANA Address Family Numbers enumeration value for the specific address type and octets 2 through n containing the address value.\r\n                "
                },
                "interface-alias": {
                    "type": "string",
                    "description": "String length '0..64'\r\n                Represents a port identifier based on the ifAlias MIB object, defined in IETF RFC 2863."
                },
                "port-component": {
                    "type": "string",
                    "description": "String length '0..32'\r\n                Represents a port identifier based on the value of entPhysicalAlias (defined in IETF RFC 2737) for a port component (i.e., entPhysicalClass value of port(10)), within the containing chassis."
                },
                "local": {
                    "type": "string",
                    "description": "Represents a port identifier based on a value locally assigned."
                }
            }
        },
        "tapi.eth.MaintenanceAssociationName": {
            "type": "object",
            "properties": {
                "char-string": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                RFC2579 DisplayString, except that the character codes 0-31 (decimal) are not used.\r\n                Length '1..45'"
                },
                "ieee-reserved": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                Reserved for definition by IEEE 802.1. Recommend not to use zero unless absolutely needed.\r\n                Length '1..45'.",
                    "default": "0"
                },
                "unsigned-int-16": {
                    "type": "integer",
                    "format": "int32",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                2-octet integer/big endian."
                },
                "icc-format": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                ICC-based format as specified in ITU-T Y.1731.\r\n                Length '1..45'"
                },
                "primary-vlan-id": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                Primary VLAN ID. 12 bits represented in a 2-octet integer."
                },
                "rfc-2865-vpn-id": {
                    "type": "string",
                    "description": "IEEE P802.1Qcx/D0.3:\r\n                MEF 38:\r\n                RFC2685 VPN ID. 3 octet VPN authority Organizationally Unique Identifier followed by 4 octet VPN index identifying VPN according to the OUI.\r\n                Length '1..45';"
                }
            }
        },
        "tapi.eth.MegAugmentation1": {
            "type": "object",
            "properties": {
                "eth-meg-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMegSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.MepAugmentation1": {
            "type": "object",
            "properties": {
                "eth-mep-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMepSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.MipAugmentation1": {
            "type": "object",
            "properties": {
                "eth-mip-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthMipSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamJobAugmentation1": {
            "type": "object",
            "properties": {
                "eth-loopback-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthLoopbackJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamJobAugmentation2": {
            "type": "object",
            "properties": {
                "eth-test-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthTestJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamJobAugmentation3": {
            "type": "object",
            "properties": {
                "eth-link-trace-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthLinkTraceJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamJobAugmentation4": {
            "type": "object",
            "properties": {
                "eth-on-demand-single-ended-measurement-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandSingleEndedMeasurementJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamJobAugmentation5": {
            "type": "object",
            "properties": {
                "eth-pro-active-single-ended-measurement-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveSingleEndedMeasurementJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamJobAugmentation6": {
            "type": "object",
            "properties": {
                "eth-pro-active-dual-ended-measurement-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthProActiveDualEndedMeasurementJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamJobAugmentation7": {
            "type": "object",
            "properties": {
                "eth-on-demand-dual-ended-measurement-job": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOnDemandDualEndedMeasurementJob"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamPduGenerationType": {
            "type": "string",
            "enum": [
                "SINGLE_INSTANCE",
                "REPETITIVE_INSTANCE",
                "SINGLE_SERIES",
                "REPETITIVE_SERIES"
            ]
        },
        "tapi.eth.OamPeriod": {
            "type": "string",
            "enum": [
                "3_33MS",
                "10MS",
                "100MS",
                "1S",
                "10S",
                "1MIN",
                "10MIN"
            ]
        },
        "tapi.eth.OamServiceAugmentation1": {
            "type": "object",
            "properties": {
                "eth-oam-service": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOamService"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamServicePointAugmentation1": {
            "type": "object",
            "properties": {
                "eth-oam-mip-service-point": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOamMipServicePoint"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamServicePointAugmentation2": {
            "type": "object",
            "properties": {
                "eth-oam-mep-service-point": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOamMepServicePoint"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.OamServicePointAugmentation3": {
            "type": "object",
            "properties": {
                "eth-oam-mep-service-point": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthOamMepServicePoint"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.PcpCoding": {
            "type": "string",
            "enum": [
                "8P0D",
                "7P1D",
                "6P2D",
                "5P3D",
                "DEI"
            ]
        },
        "tapi.eth.PriorityConfiguration": {
            "type": "object",
            "properties": {
                "priority": {
                    "type": "integer",
                    "format": "int32",
                    "description": "none"
                },
                "queue-id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "none"
                }
            }
        },
        "tapi.eth.PriorityMapping": {
            "type": "object",
            "properties": {
                "priority-0": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the new priority value for the old priority value 0."
                },
                "priority-1": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the new priority value for the old priority value 1.",
                    "default": 1
                },
                "priority-2": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the new priority value for the old priority value 2.",
                    "default": 2
                },
                "priority-3": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the new priority value for the old priority value 3.",
                    "default": 3
                },
                "priority-4": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the new priority value for the old priority value 4.",
                    "default": 4
                },
                "priority-5": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the new priority value for the old priority value 5.",
                    "default": 5
                },
                "priority-6": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the new priority value for the old priority value 6.",
                    "default": 6
                },
                "priority-7": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the new priority value for the old priority value 7.",
                    "default": 7
                }
            }
        },
        "tapi.eth.QueueConfiguration": {
            "type": "object",
            "properties": {
                "queue-threshold": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the threshold of the queue in bytes."
                },
                "queue-id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute indicates the queue id."
                },
                "queue-depth": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute defines the depth of the queue in bytes."
                }
            }
        },
        "tapi.eth.RepetitionPeriod": {
            "type": "string",
            "enum": [
                "1MIN",
                "1S",
                "10S",
                "0"
            ]
        },
        "tapi.eth.SamplesDmPerformanceParameters": {
            "type": "object",
            "properties": {
                "frame-delay-variation-list": {
                    "type": "array",
                    "description": "This attribute contains the frame delay variations measured in ns (nano second).  The multiplicity is defined by (numberOfSamples - 1, for numberOfSamples > 0).",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                },
                "number-of-samples": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the number of received DM frames (successful samples) used for this frame delay measurement.\r\n                range of type : non-negative"
                },
                "frame-delay-list": {
                    "type": "array",
                    "description": "This attribute contains the frame delays measured in ns (nano second, 1x10e-9 seconds). The multiplicity is defined by the numberOfSamples attribute.",
                    "items": {
                        "type": "integer",
                        "format": "int32"
                    }
                }
            }
        },
        "tapi.eth.ServiceAugmentation1": {
            "type": "object",
            "properties": {
                "eth-connectivity-service": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthConnectivityService"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.ServiceInterfacePointAugmentation1": {
            "type": "object",
            "properties": {
                "eth-service-inteface-point-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthServiceIntefacePointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.SipAugmentation1": {
            "type": "object",
            "properties": {
                "eth-service-inteface-point-spec": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.eth.EthServiceIntefacePointSpec"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-eth",
                "namespace": "urn:onf:otcc:yang:tapi-eth"
            }
        },
        "tapi.eth.StatisticalDmPerformanceParameters": {
            "type": "object",
            "properties": {
                "average-frame-delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the average frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds)."
                },
                "maximum-frame-delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the maximum frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds)."
                },
                "average-inter-frame-delay-variation": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the average frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).\r\n                G.8013/Y.1731:\r\n                Frame delay variation is a measure of the variations in the frame delay between a pair of service frames"
                },
                "minimum-frame-delay": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the minimum frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds)."
                },
                "maximum-frame-delay-variation": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the maximum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).\r\n                Y.1563:\r\n                The 2-point frame delay variation (vk) for an Ethernet frame k between SRC and DST is the difference between the absolute Ethernet frame transfer delay (xk) of frame k and a defined reference Ethernet frame transfer delay, d1,2, between those same MPs:  vk = xk � d1,2."
                },
                "minimum-frame-delay-variation": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the minimum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).\r\n                Y.1563:\r\n                The 2-point frame delay variation (vk) for an Ethernet frame k between SRC and DST is the difference between the absolute Ethernet frame transfer delay (xk) of frame k and a defined reference Ethernet frame transfer delay, d1,2, between those same MPs:  vk = xk � d1,2."
                },
                "minimum-inter-frame-delay-variation": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the minimum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).\r\n                G.8013/Y.1731:\r\n                Frame delay variation is a measure of the variations in the frame delay between a pair of service frames"
                },
                "maximum-inter-frame-delay-variation": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the maximum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).\r\n                G.8013/Y.1731:\r\n                Frame delay variation is a measure of the variations in the frame delay between a pair of service frames"
                },
                "average-frame-delay-variation": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the average frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).\r\n                Y.1563:\r\n                The 2-point frame delay variation (vk) for an Ethernet frame k between SRC and DST is the difference between the absolute Ethernet frame transfer delay (xk) of frame k and a defined reference Ethernet frame transfer delay, d1,2, between those same MPs:  vk = xk � d1,2."
                }
            }
        },
        "tapi.eth.StatisticalLmPerformanceParameters": {
            "type": "object",
            "properties": {
                "average-frame-loss-ratio": {
                    "type": "string",
                    "description": "This attribute contains the average frame loss ratio calculated over a period of time."
                },
                "unavailable-intervals": {
                    "type": "integer",
                    "format": "int32",
                    "description": "A generalized UAS.\r\n                MEF 35.1: A 32-bit counter reflecting the number of delta-t intervals evaluated as Unavailable (i.e., for which A<Controller, Responder>(delta-t) = 0).\r\n                range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval."
                },
                "hli-count": {
                    "type": "integer",
                    "format": "int32",
                    "description": "A generalized SES.\r\n                MEF 10.3: The Resiliency attributes are similar to the definitions of Severely Errored Seconds (SES) and Consecutive SES in section 9 and Annex B (respectively) of Y.1563 [6], when delta-t = 1 second.\r\n                MEF 35.1: Count of High Loss Intervals during the Measurement Interval.\r\n                range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval."
                },
                "maximum-frame-loss-ratio": {
                    "type": "string",
                    "description": "This attribute contains the maximum frame loss ratio calculated over a period of time."
                },
                "minimum-frame-loss-ratio": {
                    "type": "string",
                    "description": "This attribute contains the minimum frame loss ratio calculated over a period of time."
                }
            }
        },
        "tapi.eth.TotalCountersLmPerformanceParameters": {
            "type": "object",
            "properties": {
                "total-transmitted-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the total number of frames transmitted."
                },
                "total-frame-loss-ratio": {
                    "type": "string",
                    "description": "This attribute contains the frame loss ratio (number of lost frames divided by the number of total frames (N_LF / N_TF)).\r\n                The accuracy of the value is for further study."
                },
                "total-lost-frames": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute contains the total number of frames lost."
                }
            }
        },
        "tapi.eth.TrafficConditioningConfiguration": {
            "type": "object",
            "properties": {
                "queue-id": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute indicates the queue id."
                },
                "coupling-flag": {
                    "type": "boolean",
                    "description": "This attribute indicates the coupling flag.",
                    "default": false
                },
                "cbs": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute indicates the Committed Burst Size in bytes."
                },
                "ebs": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute indicates the Excess Burst Size in bytes."
                },
                "colour-mode": {
                    "description": "This attribute indicates the colour mode.",
                    "$ref": "#/definitions/tapi.eth.ColourMode"
                },
                "cir": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute indicates the Committed Information Rate in bits/s."
                },
                "eir": {
                    "type": "integer",
                    "format": "int32",
                    "description": "This attribute indicates the Excess Information Rate in bits/s."
                }
            }
        },
        "tapi.eth.TrafficConditioningPac": {
            "type": "object",
            "properties": {
                "codirectional": {
                    "type": "boolean",
                    "description": "This attribute indicates the direction of the conditioner. The value of true means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the sink part of the containing CTP. The value of false means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the source part of the containing CTP.",
                    "default": false
                },
                "prio-config-list": {
                    "type": "array",
                    "description": "This attribute indicates the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.",
                    "items": {
                        "$ref": "#/definitions/tapi.eth.PriorityConfiguration"
                    }
                },
                "cond-config-list": {
                    "type": "array",
                    "description": "This attribute indicates for the conditioner process the conditioning parameters:\r\n                - Queue ID: Indicates the Queue ID\r\n                - Committed Information Rate (CIR): number of bits per second\r\n                - Committed Burst Size (CBS): number of bytes\r\n                - Excess Information Rate (EIR): number of bits per second\r\n                - Excess Burst Size (EBS): number of bytes\r\n                - Coupling flag (CF): 0 or 1\r\n                - Color mode (CM): color-blind and color-aware.",
                    "items": {
                        "$ref": "#/definitions/tapi.eth.TrafficConditioningConfiguration"
                    }
                }
            }
        },
        "tapi.eth.TrafficShapingPac": {
            "type": "object",
            "properties": {
                "codirectional": {
                    "type": "boolean",
                    "description": "This attribute indicates the direction of the shaping function. The value of true means that the shaping (modeled as a TCS Source according to G.8021) is associated with the source part of the containing CTP. The value of false means that the shaping (modeled as a TCS Source according to G.8021) is associated with the sink part of the containing CTP.",
                    "default": false
                },
                "sched-config": {
                    "type": "string",
                    "description": "This attribute configures the scheduler process. The value of this attribute is for further study because it is for further study in G.8021.\r\n                Scheduler is a pointer to a Scheduler object, which is to be defined in the future (because in G.8021, this is FFS).\r\n                Note that the only significance of the GTCS function defined in G.8021 is the use of a common scheduler for shaping. Given that, G.8052 models the common scheduler feature by having a common value for this attribute."
                },
                "queue-config-list": {
                    "type": "array",
                    "description": "This attribute configures the Queue depth and Dropping threshold parameters of the Queue process. The Queue depth sets the maximum size of the queue in bytes. An incoming ETH_CI traffic unit is dropped if there is insufficient space in the queue to hold the whole unit. The Dropping threshold sets the threshold of the queue. If the queue is filled beyond this threshold, incoming ETH_CI traffic units accompanied by the ETH_CI_DE signal set are dropped.",
                    "items": {
                        "$ref": "#/definitions/tapi.eth.QueueConfiguration"
                    }
                },
                "prio-config-list": {
                    "type": "array",
                    "description": "This attribute configures the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.",
                    "items": {
                        "$ref": "#/definitions/tapi.eth.PriorityConfiguration"
                    }
                }
            }
        },
        "tapi.eth.VlanType": {
            "type": "string",
            "enum": [
                "C_Tag",
                "S_Tag",
                "I_Tag"
            ]
        },
        "tapi.streaming.AvailableStream": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "stream-state": {
                            "type": "string",
                            "description": "The state of the stream."
                        },
                        "connection-protocol": {
                            "type": "string",
                            "description": "Names the connection protocol for this particular available stream.\r\n                The connection protocol is chosen from the list of connection protocols identified in the referenced SupportedStreamType."
                        },
                        "supported-stream-type": {
                            "description": "Identifies the type of stream that is available for connection.",
                            "$ref": "#/definitions/tapi.streaming.SupportedStreamTypeRef"
                        },
                        "connection-address": {
                            "type": "string",
                            "description": "Provides the address for the connection. \r\n                The format of the address and attachment mechanism will depend on the connection protocol defined in another attribute of this class."
                        },
                        "stream-id": {
                            "type": "string",
                            "description": "The id of the stream."
                        }
                    },
                    "description": "Details of stream a stream that can be connected to by a client application."
                }
            ]
        },
        "tapi.streaming.AvailableStreamRef": {
            "type": "object",
            "properties": {
                "available-stream-uuid": {
                    "type": "string",
                    "description": "none",
                    "x-path": "/tapi-common:context/tapi-streaming:stream-context/tapi-streaming:available-stream/tapi-streaming:uuid"
                }
            }
        },
        "tapi.streaming.AvailableStreamRefWrapper": {
            "properties": {
                "available-stream": {
                    "$ref": "#/definitions/tapi.streaming.AvailableStreamRef"
                }
            }
        },
        "tapi.streaming.AvailableStreamWrapper": {
            "properties": {
                "available-stream": {
                    "$ref": "#/definitions/tapi.streaming.AvailableStream"
                }
            }
        },
        "tapi.streaming.CompactedLogDetails": {
            "type": "object",
            "properties": {
                "compaction-delay": {
                    "type": "string",
                    "description": "Time in minutes. \r\n                The delay between logging the record and making the record available for compaction.\r\n                This provides an adjustment to the essential Compaction strategy such that there may be several distinct records for the same thing in the where those records are not older than the Compaction Delay.\r\n                Can be adjusted by an administrator (via a separate view) through the life of the stream."
                },
                "tombstone-retention": {
                    "type": "string",
                    "description": "Time in minutes.\r\n                The time period for which a Tombstone record will be held in the log from when it was logged. \r\n                This provides an adjustment to the essential Compaction strategy such that after the tombstoneRetention period there will be no records about a particular thing that existed but no longer exists.\r\n                Tombstone retention overrides recordRetention for Tombstones.\r\n                Key word 'FOREVER' means that Tombstone records will never be removed from the log.\r\n                Can be adjusted by an administrator (via a separate view) through the life of the stream."
                }
            }
        },
        "tapi.streaming.CompactedLogDetailsWrapper": {
            "properties": {
                "compacted-log-details": {
                    "$ref": "#/definitions/tapi.streaming.CompactedLogDetails"
                }
            }
        },
        "tapi.streaming.ConnectionProtocolDetails": {
            "type": "object",
            "properties": {
                "allowed-connection-protocols": {
                    "type": "array",
                    "description": "Name of the allowed protocol.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "tapi.streaming.ConnectionProtocolDetailsWrapper": {
            "properties": {
                "connection-protocol-details": {
                    "$ref": "#/definitions/tapi.streaming.ConnectionProtocolDetails"
                }
            }
        },
        "tapi.streaming.ContextAugmentation1": {
            "type": "object",
            "properties": {
                "stream-admin-context": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.streaming.StreamAdminContext"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-streaming",
                "namespace": "urn:onf:otcc:yang:tapi-streaming"
            }
        },
        "tapi.streaming.ContextAugmentation2": {
            "type": "object",
            "properties": {
                "stream-context": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.streaming.context.StreamContext"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-streaming",
                "namespace": "urn:onf:otcc:yang:tapi-streaming"
            }
        },
        "tapi.streaming.GetAvailableStreamConnectionDetails": {
            "type": "object",
            "properties": {
                "output": {
                    "$ref": "#/definitions/tapi.streaming.getavailablestreamconnectiondetails.Output"
                }
            }
        },
        "tapi.streaming.GetSupportedStreamConnectionTypes": {
            "type": "object",
            "properties": {
                "output": {
                    "$ref": "#/definitions/tapi.streaming.getsupportedstreamconnectiontypes.Output"
                }
            }
        },
        "tapi.streaming.ObjectClassIdentifier": {
            "type": "string",
            "enum": [
                "NODE",
                "CONNECTION",
                "LINK",
                "CONNECTION_END_POINT",
                "CONNECTIVITY_SERVICE",
                "INTER_RULE_GROUP",
                "MAINTENANCE_ENTITY",
                "MAINTENANCE_ENTITY_GROUP",
                "MEG_END_POINT",
                "MEG_INTERMEDIATE_POINT",
                "NODE_EDGE_POINT",
                "OAM_JOB",
                "PATH",
                "NODE_RULE_GROUP",
                "PATH_COMPUTATION_SERVICE",
                "ROUTE",
                "RULE",
                "SERVICE_INTERFACE_POINT",
                "SWITCH",
                "SWITCH_CONTROL",
                "TOPOLOGY",
                "VIRTUAL_NETWORK_SERVICE",
                "OAM_PROFILE",
                "OAM_SERVICE",
                "CONNECTION_SPEC",
                "ACCESS_PORT",
                "DEVICE",
                "PHYSICAL_SPAN",
                "EQUIPMENT",
                "HOLDER",
                "CONDITION_DETECTOR",
                "AVAILABLE_STREAM",
                "STREAM_MONITOR",
                "SUPPORTED_STREAM_TYPE",
                "NETWORK_TOPOLOGY_SERVICE",
                "TAPI_CONTEXT",
                "OAM_SERVICE_END_POINT",
                "PM_BIN_DATA",
                "PM_CURRENT_DATA",
                "PM_HISTORY_DATA",
                "PM_THRESHOLD_DATA",
                "CONNECTIVITY_SERVICE_END_POINT",
                "ABSTRACT_STRAND",
                "PATH_OBJECTIVE_FUNCTION",
                "PATH_OPTIMIZATION_CONSTRAINT",
                "PATH_SERVICE_END_POINT",
                "VIRTUAL_NETWORK_CONSTRAINT",
                "VIRTUAL_NETWORK_SERVICE_END_POINT",
                "ANY_CLASS"
            ]
        },
        "tapi.streaming.StreamAdminContext": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "stream-monitor": {
                            "type": "array",
                            "description": "The list of available stream monitors.",
                            "items": {
                                "$ref": "#/definitions/tapi.streaming.StreamMonitor"
                            }
                        }
                    },
                    "description": "Context providing access to stream administration functionality."
                }
            ]
        },
        "tapi.streaming.StreamAdminContextWrapper": {
            "properties": {
                "tapi-streaming:stream-admin-context": {
                    "$ref": "#/definitions/tapi.streaming.StreamAdminContext"
                }
            }
        },
        "tapi.streaming.StreamMonitor": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "last-updated": {
                            "type": "string",
                            "description": "The date/time when the values provided were recorded."
                        },
                        "client-address": {
                            "type": "string",
                            "description": "The address of the connected client that is being monitored."
                        },
                        "id-of-last-record-written-to-log": {
                            "type": "string",
                            "description": "The id/key of the last record written to the log. \r\n                This is the same value for all clients of the stream."
                        },
                        "id-of-last-record-read-from-log": {
                            "type": "string",
                            "description": "The id/key of the last record read from the log by the client stream.\r\n                The analysis of this value needs to account for stream buffering in the comms layer."
                        },
                        "client-id": {
                            "type": "string",
                            "description": "The id of the connected client."
                        },
                        "available-stream": {
                            "description": "none",
                            "$ref": "#/definitions/tapi.streaming.AvailableStreamRef"
                        }
                    },
                    "description": "Information on the monitoring of the use of a specific AvailableStream."
                }
            ]
        },
        "tapi.streaming.StreamMonitorWrapper": {
            "properties": {
                "stream-monitor": {
                    "$ref": "#/definitions/tapi.streaming.StreamMonitor"
                }
            }
        },
        "tapi.streaming.SupportedStreamType": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.common.GlobalClass"
                },
                {
                    "type": "object",
                    "properties": {
                        "record-content": {
                            "type": "array",
                            "description": "Identifies the classes that are supported through the stream. \r\n                The list may be a subset of the classes within the context.",
                            "items": {
                                "$ref": "#/definitions/tapi.streaming.ObjectClassIdentifier"
                            }
                        },
                        "log-storage-strategy": {
                            "type": "string",
                            "description": "Indicates the storage characteristics of the log supporting the stream."
                        },
                        "log-record-strategy": {
                            "type": "string",
                            "description": "Indicates the type of content of each log record."
                        },
                        "stream-type-name": {
                            "type": "string",
                            "description": "Name of the stream type."
                        },
                        "segment-size": {
                            "type": "string",
                            "description": "Size of sub-structuring of the log."
                        },
                        "record-retention": {
                            "type": "string",
                            "description": "Time in minutes.\r\n                Statement of retention time and/or retention capacity in bytes.\r\n                Key word 'FOREVER' means that records will never be removed from the log.\r\n                May be overridden for particular cases of specific LogStorageStrategy (via augment)."
                        }
                    },
                    "description": "Definition of a supported stream type."
                }
            ]
        },
        "tapi.streaming.SupportedStreamTypeAugmentation1": {
            "type": "object",
            "properties": {
                "compacted-log-details": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.streaming.CompactedLogDetails"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-streaming",
                "namespace": "urn:onf:otcc:yang:tapi-streaming"
            }
        },
        "tapi.streaming.SupportedStreamTypeAugmentation2": {
            "type": "object",
            "properties": {
                "connection-protocol-details": {
                    "description": "none",
                    "$ref": "#/definitions/tapi.streaming.ConnectionProtocolDetails"
                }
            },
            "x-augmentation": {
                "prefix": "tapi-streaming",
                "namespace": "urn:onf:otcc:yang:tapi-streaming"
            }
        },
        "tapi.streaming.SupportedStreamTypeRef": {
            "type": "object",
            "properties": {
                "supported-stream-type-uuid": {
                    "type": "string",
                    "description": "none",
                    "x-path": "/tapi-common:context/tapi-streaming:stream-context/tapi-streaming:supported-stream-type/tapi-streaming:uuid"
                }
            }
        },
        "tapi.streaming.SupportedStreamTypeRefWrapper": {
            "properties": {
                "supported-stream-type": {
                    "$ref": "#/definitions/tapi.streaming.SupportedStreamTypeRef"
                }
            }
        },
        "tapi.streaming.connecttostream.Input": {
            "type": "object",
            "properties": {
                "connection-address": {
                    "type": "string",
                    "description": "none"
                },
                "start-from-token": {
                    "type": "string",
                    "description": "none"
                }
            }
        },
        "tapi.streaming.context.StreamContext": {
            "allOf": [
                {
                    "type": "object",
                    "properties": {
                        "supported-stream-type": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.streaming.streamcontext.SupportedStreamType"
                            }
                        },
                        "available-stream": {
                            "type": "array",
                            "description": "none",
                            "items": {
                                "$ref": "#/definitions/tapi.streaming.AvailableStream"
                            }
                        }
                    },
                    "description": "none"
                }
            ]
        },
        "tapi.streaming.context.StreamContextWrapper": {
            "properties": {
                "tapi-streaming:stream-context": {
                    "$ref": "#/definitions/tapi.streaming.context.StreamContext"
                }
            }
        },
        "tapi.streaming.getavailablestreamconnectiondetails.Output": {
            "type": "object",
            "properties": {
                "active-connections": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.streaming.AvailableStream"
                    }
                }
            }
        },
        "tapi.streaming.getsupportedstreamconnectiontypes.Output": {
            "type": "object",
            "properties": {
                "supported-stream-types": {
                    "type": "array",
                    "description": "none",
                    "items": {
                        "$ref": "#/definitions/tapi.streaming.SupportedStreamType"
                    }
                }
            }
        },
        "tapi.streaming.streamcontext.SupportedStreamType": {
            "allOf": [
                {
                    "$ref": "#/definitions/tapi.streaming.SupportedStreamType"
                },
                {
                    "$ref": "#/definitions/tapi.streaming.SupportedStreamTypeAugmentation1"
                },
                {
                    "$ref": "#/definitions/tapi.streaming.SupportedStreamTypeAugmentation2"
                }
            ]
        },
        "tapi.streaming.streamcontext.SupportedStreamTypeWrapper": {
            "properties": {
                "supported-stream-type": {
                    "$ref": "#/definitions/tapi.streaming.streamcontext.SupportedStreamType"
                }
            }
        },
        "tapi.restconf.capabilities.Response": {
            "type": "object",
            "properties": {
                "capabilities": {
                    "type": "object",
                    "properties": {
                        "capability": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/tapi.restconf.capabilities.capability"
                            }
                        }
                    }
                }
            }
        },
        "tapi.restconf.capabilities.capability": {
            "type": "string",
            "example": [
                "urn:ietf:params:restconf:capability:depth:1.0"
            ]
        },
        "FreExpectationAttributesRO": {
            "type": "object",
            "properties": {
                "validateParameters": {
                    "description": "Attribute containing the list of parameters (if any) to be validated against the expectation",
                    "$ref": "#/definitions/ValidateParametersRO"
                },
                "provisionPolicies": {
                    "description": "Attribute containing Provision Policies against FRE expectation",
                    "$ref": "#/definitions/ProvisionPoliciesRO"
                },
                "pathType": {
                    "type": "string",
                    "description": "The path type of this FRE/TPE expectation.",
                    "enum": [
                        "home",
                        "target"
                    ]
                },
                "startDate": {
                    "type": "string",
                    "description": "The scheduled start date and time of the expectation, with RFC 3339 date-time format"
                },
                "endDate": {
                    "type": "string",
                    "description": "The scheduled end date and time of the expectation, with RFC 3339 date-time format  "
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                },
                "recurrenceRule": {
                    "description": "Recurrence Rule",
                    "$ref": "#/definitions/RecurrenceRuleRO"
                },
                "policies": {
                    "type": "array",
                    "description": "Policies to be applied to the entity.",
                    "items": {
                        "type": "object"
                    }
                },
                "userLabel": {
                    "type": "string",
                    "description": "The label given to the FRE by an user"
                },
                "mgmtName": {
                    "type": "string",
                    "description": "The name given to the FRE on the NE where applicable (e.g. VS name for SAOS based devices)"
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the FRE that is native to the network element"
                },
                "awarenessTime": {
                    "type": "string",
                    "description": "The awareness time provided by Stitcher"
                },
                "originEventTime": {
                    "type": "string",
                    "description": "The origin event time provided by RA for nodal FREs"
                },
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "supportedByLayerRatePackageList": {
                    "type": "array",
                    "description": "Optional package. Indicates LayerRate and LayerRateQualifier",
                    "items": {
                        "$ref": "#/definitions/SupportedByLayerRatePackageRO"
                    }
                },
                "serviceClassQualifier": {
                    "type": "string",
                    "description": "Represents the visibility of FRE service",
                    "enum": [
                        "VISIBLE",
                        "HIDDEN"
                    ]
                },
                "multiHighestStackLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "internalStructure": {
                    "type": "string",
                    "description": "Visible abstraction of the internal structure of the FRE",
                    "enum": [
                        "SIMPLE",
                        "SIMPLE_SWITCHED",
                        "PROTECTED_ONE_END",
                        "MULTI_SIMPLE",
                        "MULTIPLE",
                        "PROTECTED_BOTH_ENDS",
                        "MULTIPOINT",
                        "HUB_AND_SPOKE",
                        "EXPLICIT",
                        "INTERCONNECT_ONE_END",
                        "INTERCONNECT_BOTH_ENDS",
                        "DUAL_HOMED_ONE_END",
                        "DUAL_HOMED_BOTH_ENDS",
                        "MULTIPOINT_DC",
                        "FULL_MESH",
                        "PARTIAL_MESH",
                        "UNKNOWN",
                        "MULTI_HOMED_ONE_END",
                        "MULTI_HOMED_BOTH_END",
                        "HVPLS"
                    ]
                },
                "networkRole": {
                    "type": "string",
                    "description": "Determines if the FRE participates in an internal or external forwarding view or involves access points or connection points",
                    "enum": [
                        "IFRE",
                        "FREAP",
                        "FREhAP",
                        "ROADMLINE",
                        "IFRECP",
                        "EFRE"
                    ]
                },
                "directionality": {
                    "type": "string",
                    "description": "Indicates if the FRE is unidirectional or bidirectional",
                    "enum": [
                        "unidirectional",
                        "bidirectional"
                    ]
                },
                "topologySources": {
                    "type": "array",
                    "description": "Source of topology",
                    "items": {
                        "type": "string",
                        "enum": [
                            "discovered",
                            "adjacency",
                            "stitched",
                            "connection_rule",
                            "connection_rule_nodal",
                            "backpropagated",
                            "connection_rule_snc",
                            "connection_rule_sncp",
                            "manual",
                            "retained",
                            "connection_rule_aps"
                        ]
                    }
                },
                "state": {
                    "type": "string",
                    "description": "TO BE REMOVED. Use adminState.",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AUMA"
                    ]
                },
                "adminState": {
                    "type": "string",
                    "description": "Indicates the administrative state of the FRE, including whether traffic has been enabled and whether the FRE should be used by clients. It is derived from the state(s) of terminating TPE(s). Disabled means that FRE is prevented from carrying traffic. Enabled means that FRE is allowed to carry traffic.",
                    "enum": [
                        "ENABLED",
                        "DISABLED",
                        "NOT_APPLICABLE",
                        "IN_SERVICE",
                        "OUT_OF_SERVICE"
                    ]
                },
                "controlActivityState": {
                    "type": "string",
                    "description": "Represents the state of management activity being performed against this FRE.",
                    "enum": [
                        "NONE",
                        "ACTIVATING",
                        "DEACTIVATING",
                        "IDLE",
                        "PENDING",
                        "MODIFYING",
                        "FAILING",
                        "DEGRADED"
                    ]
                },
                "signalContentType": {
                    "type": "string",
                    "description": "Represents whether the FRE is of VLAN/VCE type for L2 devices"
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRuleRO"
                },
                "photonicSpectrumPackage": {
                    "description": "This package stores photonic spectrum information.",
                    "$ref": "#/definitions/PhotonicSpectrumPackageRO"
                },
                "photonicSpectrumPackageList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PhotonicSpectrumPackageRO"
                    }
                },
                "cfmPackages": {
                    "type": "array",
                    "description": "Holds data related to CFM services configured on an Ethernet service",
                    "items": {
                        "$ref": "#/definitions/FreCfmPackageRO"
                    }
                },
                "segmentId": {
                    "type": "string",
                    "description": "The segment ID associated with this FRE."
                },
                "mplsPackage": {
                    "description": "This package stores MPLS tunnel information.",
                    "$ref": "#/definitions/MplsPackageRO"
                },
                "freType": {
                    "type": "string",
                    "description": "The sub type of FRE",
                    "enum": [
                        "explicitRoute",
                        "explicitRouteGroup",
                        "cascadedExplicitRoute",
                        "snc",
                        "sncGroup",
                        "regen",
                        "route",
                        "resilientConfig",
                        "osrpLine",
                        "osrpLink",
                        "sncp",
                        "eline",
                        "elan",
                        "etree",
                        "dropAndContinue",
                        "explicitRouteInstance",
                        "omsCutThroughRegen",
                        "l3vpn",
                        "cascadedExplicitRouteInstance",
                        "staticRoute",
                        "eBgpSession",
                        "vpws"
                    ]
                },
                "routingConstraints": {
                    "$ref": "#/definitions/RoutingConstraintsRO"
                },
                "maxReservableBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedBandwidthRO"
                    }
                },
                "nonPlannedUsedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedBandwidthRO"
                    }
                },
                "explicitRouteGroup": {
                    "description": "Explicit Route Group",
                    "$ref": "#/definitions/ExplicitRouteGroupRO"
                },
                "active": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE is active, or simply a potential.",
                    "default": false
                },
                "controlPlanePackage": {
                    "$ref": "#/definitions/ControlPlanePackageRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition this fre belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "syncScopes": {
                    "type": "array",
                    "description": "The sync scope for the FRE",
                    "items": {
                        "$ref": "#/definitions/SyncScopeRO"
                    }
                },
                "provisioningAttributes": {
                    "description": "Indicates attributes that are used solely in the provisioning workflow. These attributes would not be reported on discovery, but aid in the provisioning workflow.",
                    "$ref": "#/definitions/ProvisioningAttributesRO"
                },
                "stitchingFloorActive": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE should not have stitched client FREs.",
                    "default": false
                },
                "reliability": {
                    "type": "string",
                    "description": "Stitcher attribute to set reliability on FRE",
                    "enum": [
                        "MANUAL",
                        "AUTO"
                    ]
                },
                "isInConflict": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE is in conflict with other FREs.",
                    "default": false
                },
                "isStandaloneFre": {
                    "type": "boolean",
                    "description": "An indicator that no fre is stitched over PHY layer.",
                    "default": false
                },
                "description": {
                    "type": "string",
                    "description": "String to store description field on service"
                },
                "resiliencyHandlingPackage": {
                    "type": "array",
                    "description": " triggers stitcher building resiliency view and NSI updating layerRate in resiliency view",
                    "items": {
                        "$ref": "#/definitions/ResiliencyHandlingPackageRO"
                    }
                },
                "resiliencyPackage": {
                    "description": "The fre resiliency package contains attributes only appear in resiliency view.",
                    "$ref": "#/definitions/FreResiliencyPackageRO"
                },
                "adminWt": {
                    "type": "number",
                    "format": "double",
                    "description": "Administrative weight which specifies the level of importance given to the OSRP link"
                },
                "bundleIds": {
                    "type": "array",
                    "description": "List of up to 20 protection bundles to which the OSRP link belongs",
                    "items": {
                        "type": "string"
                    }
                },
                "latency": {
                    "type": "number",
                    "format": "double",
                    "description": "Indicates the delay in microseconds."
                },
                "domainTypes": {
                    "type": "array",
                    "description": "List of domains/protection scheme this FRE is included in.",
                    "items": {
                        "type": "string"
                    }
                },
                "resilienceLevel": {
                    "type": "string",
                    "description": "Indicates the general level of resiliency under this given FRE.",
                    "enum": [
                        "UNPROTECTED",
                        "PARTIAL",
                        "PROTECTED",
                        "PROTECTED_IN_JEOPARDY"
                    ]
                },
                "retainedMaxReservableBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared SRLGs of this FRE.",
                    "items": {
                        "type": "string"
                    }
                },
                "resiliencyTopologyPackage": {
                    "description": "This package stores resiliency topology information.",
                    "$ref": "#/definitions/ResiliencyTopologyPackageRO"
                },
                "bgpPackage": {
                    "description": "This package stores BGP information.",
                    "$ref": "#/definitions/FreBgpPackageRO"
                },
                "gneSubnetName": {
                    "type": "string",
                    "description": "The GNE Subnet Name of the FRE"
                },
                "groupPackage": {
                    "description": "Group Package",
                    "$ref": "#/definitions/GroupPackageRO"
                },
                "txInfo": {
                    "type": "array",
                    "description": "TxInfo for FRE",
                    "items": {
                        "$ref": "#/definitions/TxInfoRO"
                    }
                },
                "vrfPackage": {
                    "description": "Package that holds Virtual Routing and Forwarding data",
                    "$ref": "#/definitions/FreVrfPackageRO"
                },
                "remoteOSRPNodeName": {
                    "type": "string",
                    "description": " Destination OSRP node name"
                },
                "serviceClass": {
                    "type": "string",
                    "description": "Represents the type of FRE service",
                    "enum": [
                        "EVC",
                        "E_TRANSIT",
                        "E_ACCESS",
                        "VLAN",
                        "TDM",
                        "PSEUDOWIRE_LINK",
                        "TRANSPORT_CLIENT",
                        "PHOTONIC",
                        "TUNNEL",
                        "IP",
                        "LLDP",
                        "LAG",
                        "OTU",
                        "OSRP_LINK",
                        "OSRP_LINE",
                        "ROADM_LINE",
                        "OMS",
                        "FIBER",
                        "SNC",
                        "SNCP",
                        "ICL",
                        "RING",
                        "BGP_SESSION",
                        "EMBEDDED_ETHERNET_LINK",
                        "L_3_VPN",
                        "OT_SI",
                        "MEDIA",
                        "FLEXE_GROUP",
                        "FLEXE_LINK",
                        "FLEX_E",
                        "PATH",
                        "EVPN_VPWS"
                    ]
                },
                "utilizationData": {
                    "description": "Package that holds the UtilizationData",
                    "$ref": "#/definitions/UtilizationDataRO"
                },
                "otdrPackage": {
                    "description": "Otdr Package",
                    "$ref": "#/definitions/OtdrPackageRO"
                },
                "externalRoutePackage": {
                    "$ref": "#/definitions/ExternalRoutePackageRO"
                },
                "evpn": {
                    "description": "Package that holds Ethernet Virtual Private Network data",
                    "$ref": "#/definitions/EvpnRO"
                },
                "srTePolicyPackage": {
                    "description": "Package that holds SR-TE Policy Data",
                    "$ref": "#/definitions/FreSrTePolicyPackageRO"
                },
                "vpnPackage": {
                    "description": "Package that holds Vpn additional information",
                    "$ref": "#/definitions/VpnPackageRO"
                },
                "isSubmarineLink": {
                    "type": "boolean",
                    "description": "An indicator if the FRE is from submarine",
                    "default": false
                }
            }
        },
        "FreExpectationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the fre expectation"
                },
                "type": {
                    "type": "string",
                    "description": "The fre expectation type",
                    "enum": [
                        "FRE_EXPECTATIONS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/FreExpectationAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/FreExpectationRelationshipsRO"
                }
            }
        },
        "FreExpectationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/FreExpectationDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "FreExpectationRelationshipsRO": {
            "type": "object",
            "properties": {
                "serviceIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "intent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partitioningFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "endPoints": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partitionFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "decomposedFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "freSwitch": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partitionFreAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "resiliencyController": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "encapsulatedResiliency": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "freSwitchList": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstructAssociation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "groups": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "configurationAndSwitchControl": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "composingFre": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "decomposedFreAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concreteAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "supportedByServices": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "abstractServices": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "utilization": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "FrePatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on an fre resource",
                    "enum": [
                        "replace",
                        "validateDiscovered",
                        "delete",
                        "add",
                        "srlgPatch",
                        "externalSrlgRemove"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/FreAttributesRO"
                },
                "attribute": {
                    "type": "string",
                    "description": "name of an attribute to be deleted"
                },
                "path": {
                    "type": "string",
                    "description": "path of the object/attribute to be patched"
                },
                "keys": {
                    "type": "array",
                    "description": "Used to target specific key(s) of the attribute to be deleted",
                    "items": {
                        "type": "string"
                    }
                },
                "srlgRelationships": {
                    "description": "Srlgs in planned relationships of NC/Equipment/Fres",
                    "$ref": "#/definitions/SrlgPatchDataRO"
                }
            }
        },
        "FrePatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FrePatchOperationRO"
                    }
                }
            }
        },
        "FrePlannedAttributesRO": {
            "type": "object",
            "properties": {
                "userLabel": {
                    "type": "string",
                    "description": "The label given to the FRE by an user"
                },
                "mgmtName": {
                    "type": "string",
                    "description": "The name given to the FRE on the NE where applicable (e.g. VS name for SAOS based devices)"
                },
                "nativeName": {
                    "type": "string",
                    "description": "The name of the FRE that is native to the network element"
                },
                "awarenessTime": {
                    "type": "string",
                    "description": "The awareness time provided by Stitcher"
                },
                "originEventTime": {
                    "type": "string",
                    "description": "The origin event time provided by RA for nodal FREs"
                },
                "layerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "Provides a means to provide additional qualification attributes for a Layer Rate. For example, for beyond 100G rates OTUCn and ODUCn, the value of n, where n is a multiple of 100. For example, for beyond 100G rates with sub rate potential (i.e. OTUCn-M), this includes the n-M options where n is the number of OxUC overhead instances and M is the number of 5G tributary slots. For example, OTUC4-60 implies 4 instances of OxUC overhead, and 300G capacity (5G x 60).",
                    "enum": [
                        "ODUC1",
                        "ODUC2",
                        "ODUC2_25",
                        "ODUC2_30",
                        "ODUC3",
                        "ODUC4",
                        "ODUC4_60",
                        "ODUC4_70",
                        "ODUC5",
                        "ODUC5_90",
                        "ODUC6",
                        "ODUC6_110",
                        "ODUC7",
                        "ODUC8",
                        "ODUC9",
                        "ODUC10",
                        "ODUC11",
                        "ODUC12",
                        "ODUC13",
                        "ODUC14",
                        "ODUC15",
                        "ODUC16",
                        "OTUC1",
                        "OTUC2",
                        "OTUC2_25",
                        "OTUC2_30",
                        "OTUC3",
                        "OTUC3_50",
                        "OTUC4",
                        "OTUC4_60",
                        "OTUC4_70",
                        "OTUC5",
                        "OTUC5_90",
                        "OTUC6",
                        "OTUC6_110",
                        "OTUC7",
                        "OTUC8",
                        "OTUC9",
                        "OTUC10",
                        "OTUC11",
                        "OTUC12",
                        "OTUC13",
                        "OTUC14",
                        "OTUC15",
                        "OTUC16",
                        "OC3",
                        "OC12",
                        "OC48",
                        "OC192",
                        "OC768",
                        "STM1",
                        "STM4",
                        "STM16",
                        "STM64",
                        "STM256",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "_1GE",
                        "_10GE",
                        "_40GE",
                        "_100GE",
                        "_400GE",
                        "_2G5",
                        "_1G25",
                        "_10G",
                        "_40G",
                        "_100G",
                        "_150G",
                        "_200G",
                        "_250G",
                        "_300G",
                        "_350G",
                        "_400G",
                        "_450G",
                        "_500G",
                        "_550G",
                        "_600G",
                        "_650G",
                        "_700G",
                        "_750G",
                        "_800G",
                        "ETHFLEX",
                        "_10GE_ODUFLEX",
                        "_100GE_ODUFLEX",
                        "FICON1G",
                        "FICONEXPRESS2G",
                        "FICON4G",
                        "FICON8G",
                        "FICON16G",
                        "FC100",
                        "FC200",
                        "FC400",
                        "FC800",
                        "FC1200",
                        "FC1600",
                        "FC3200",
                        "_2G5_CBR",
                        "_10G_CBR",
                        "UNKNOWN"
                    ]
                },
                "supportedByLayerRatePackageList": {
                    "type": "array",
                    "description": "Optional package. Indicates LayerRate and LayerRateQualifier",
                    "items": {
                        "$ref": "#/definitions/SupportedByLayerRatePackageRO"
                    }
                },
                "serviceClassQualifier": {
                    "type": "string",
                    "description": "Represents the visibility of FRE service",
                    "enum": [
                        "VISIBLE",
                        "HIDDEN"
                    ]
                },
                "multiHighestStackLayerRate": {
                    "type": "string",
                    "description": "The transmission layer rate.",
                    "enum": [
                        "ETHERNET",
                        "OTU1",
                        "OTU2",
                        "OTU2e",
                        "OTU3",
                        "OTU4",
                        "OTUCn",
                        "OTSi",
                        "OMS",
                        "OS",
                        "PHY",
                        "OTS",
                        "FICON",
                        "FC",
                        "ODU",
                        "ODU0",
                        "ODU1",
                        "ODU2",
                        "ODU2e",
                        "ODU3",
                        "ODU4",
                        "ODUCn",
                        "DSR",
                        "DSR_10GE",
                        "DSR_100GE",
                        "DSR_ETHERNET",
                        "ENCAPSULATION",
                        "MPLS",
                        "MPLS_PROTECTION",
                        "MEDIA",
                        "LAG",
                        "RS",
                        "E0",
                        "E1",
                        "E3",
                        "E1_2M",
                        "EC1",
                        "DSR_2M",
                        "LINE_OC3_STS3_AND_MS_STM1",
                        "SECTION_OC3_STS3_AND_RS_STM1",
                        "DSR_OC3_STM1",
                        "DSR_OC12_STM4",
                        "DSR_OC48_STM16",
                        "DSR_OC192_STM64",
                        "CES_IWF",
                        "T1",
                        "DSR_1_5M",
                        "STS1",
                        "STS3C",
                        "STS12C",
                        "STS24C",
                        "STS48C",
                        "STS192C",
                        "DS0",
                        "DS1",
                        "DS3",
                        "VT15",
                        "VT2",
                        "NOT_APPLICABLE",
                        "ODUFLEX",
                        "OTUg",
                        "ODUg",
                        "BGP",
                        "G8032",
                        "FLEXE_GROUP",
                        "FLEXE",
                        "VC3",
                        "VC4",
                        "VC4_4C",
                        "VC4_8C",
                        "VC4_16C",
                        "VC4_64C",
                        "VC11",
                        "VC12",
                        "IP",
                        "ES",
                        "CBR"
                    ]
                },
                "internalStructure": {
                    "type": "string",
                    "description": "Visible abstraction of the internal structure of the FRE",
                    "enum": [
                        "SIMPLE",
                        "SIMPLE_SWITCHED",
                        "PROTECTED_ONE_END",
                        "MULTI_SIMPLE",
                        "MULTIPLE",
                        "PROTECTED_BOTH_ENDS",
                        "MULTIPOINT",
                        "HUB_AND_SPOKE",
                        "EXPLICIT",
                        "INTERCONNECT_ONE_END",
                        "INTERCONNECT_BOTH_ENDS",
                        "DUAL_HOMED_ONE_END",
                        "DUAL_HOMED_BOTH_ENDS",
                        "MULTIPOINT_DC",
                        "FULL_MESH",
                        "PARTIAL_MESH",
                        "UNKNOWN",
                        "MULTI_HOMED_ONE_END",
                        "MULTI_HOMED_BOTH_END",
                        "HVPLS"
                    ]
                },
                "networkRole": {
                    "type": "string",
                    "description": "Determines if the FRE participates in an internal or external forwarding view or involves access points or connection points",
                    "enum": [
                        "IFRE",
                        "FREAP",
                        "FREhAP",
                        "ROADMLINE",
                        "IFRECP",
                        "EFRE"
                    ]
                },
                "directionality": {
                    "type": "string",
                    "description": "Indicates if the FRE is unidirectional or bidirectional",
                    "enum": [
                        "unidirectional",
                        "bidirectional"
                    ]
                },
                "topologySources": {
                    "type": "array",
                    "description": "Source of topology",
                    "items": {
                        "type": "string",
                        "enum": [
                            "discovered",
                            "adjacency",
                            "stitched",
                            "connection_rule",
                            "connection_rule_nodal",
                            "backpropagated",
                            "connection_rule_snc",
                            "connection_rule_sncp",
                            "manual",
                            "retained",
                            "connection_rule_aps"
                        ]
                    }
                },
                "state": {
                    "type": "string",
                    "description": "TO BE REMOVED. Use adminState.",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AUMA"
                    ]
                },
                "adminState": {
                    "type": "string",
                    "description": "Indicates the administrative state of the FRE, including whether traffic has been enabled and whether the FRE should be used by clients. It is derived from the state(s) of terminating TPE(s). Disabled means that FRE is prevented from carrying traffic. Enabled means that FRE is allowed to carry traffic.",
                    "enum": [
                        "ENABLED",
                        "DISABLED",
                        "NOT_APPLICABLE",
                        "IN_SERVICE",
                        "OUT_OF_SERVICE"
                    ]
                },
                "controlActivityState": {
                    "type": "string",
                    "description": "Represents the state of management activity being performed against this FRE.",
                    "enum": [
                        "NONE",
                        "ACTIVATING",
                        "DEACTIVATING",
                        "IDLE",
                        "PENDING",
                        "MODIFYING",
                        "FAILING",
                        "DEGRADED"
                    ]
                },
                "signalContentType": {
                    "type": "string",
                    "description": "Represents whether the FRE is of VLAN/VCE type for L2 devices"
                },
                "modelType": {
                    "type": "string",
                    "description": "The model type of network construct, TPE, FRE.",
                    "enum": [
                        "controlPlane",
                        "regenService",
                        "resiliency"
                    ]
                },
                "lifeCycleRules": {
                    "description": "Indicates the life cycle rules for an entity.",
                    "$ref": "#/definitions/LifeCycleRuleRO"
                },
                "photonicSpectrumPackage": {
                    "description": "This package stores photonic spectrum information.",
                    "$ref": "#/definitions/PhotonicSpectrumPackageRO"
                },
                "photonicSpectrumPackageList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PhotonicSpectrumPackageRO"
                    }
                },
                "cfmPackages": {
                    "type": "array",
                    "description": "Holds data related to CFM services configured on an Ethernet service",
                    "items": {
                        "$ref": "#/definitions/FreCfmPackageRO"
                    }
                },
                "segmentId": {
                    "type": "string",
                    "description": "The segment ID associated with this FRE."
                },
                "mplsPackage": {
                    "description": "This package stores MPLS tunnel information.",
                    "$ref": "#/definitions/MplsPackageRO"
                },
                "freType": {
                    "type": "string",
                    "description": "The sub type of FRE",
                    "enum": [
                        "explicitRoute",
                        "explicitRouteGroup",
                        "cascadedExplicitRoute",
                        "snc",
                        "sncGroup",
                        "regen",
                        "route",
                        "resilientConfig",
                        "osrpLine",
                        "osrpLink",
                        "sncp",
                        "eline",
                        "elan",
                        "etree",
                        "dropAndContinue",
                        "explicitRouteInstance",
                        "omsCutThroughRegen",
                        "l3vpn",
                        "cascadedExplicitRouteInstance",
                        "staticRoute",
                        "eBgpSession",
                        "vpws"
                    ]
                },
                "routingConstraints": {
                    "$ref": "#/definitions/RoutingConstraintsRO"
                },
                "maxReservableBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "usedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "plannedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedBandwidthRO"
                    }
                },
                "nonPlannedUsedBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PlannedBandwidthRO"
                    }
                },
                "explicitRouteGroup": {
                    "description": "Explicit Route Group",
                    "$ref": "#/definitions/ExplicitRouteGroupRO"
                },
                "active": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE is active, or simply a potential.",
                    "default": false
                },
                "controlPlanePackage": {
                    "$ref": "#/definitions/ControlPlanePackageRO"
                },
                "additionalAttributes": {
                    "description": "Various miscellaneous attributes that do not necessarily belong in the parent resource. Attributes are populated dynamically and therefore cannot be documented here.",
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "resourcePartitionInfo": {
                    "type": "array",
                    "description": "It represents which partition this fre belongs to.",
                    "uniqueItems": true,
                    "items": {
                        "type": "string"
                    }
                },
                "syncScopes": {
                    "type": "array",
                    "description": "The sync scope for the FRE",
                    "items": {
                        "$ref": "#/definitions/SyncScopeRO"
                    }
                },
                "provisioningAttributes": {
                    "description": "Indicates attributes that are used solely in the provisioning workflow. These attributes would not be reported on discovery, but aid in the provisioning workflow.",
                    "$ref": "#/definitions/ProvisioningAttributesRO"
                },
                "stitchingFloorActive": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE should not have stitched client FREs.",
                    "default": false
                },
                "reliability": {
                    "type": "string",
                    "description": "Stitcher attribute to set reliability on FRE",
                    "enum": [
                        "MANUAL",
                        "AUTO"
                    ]
                },
                "isInConflict": {
                    "type": "boolean",
                    "description": "An indicator to flag when a FRE is in conflict with other FREs.",
                    "default": false
                },
                "isStandaloneFre": {
                    "type": "boolean",
                    "description": "An indicator that no fre is stitched over PHY layer.",
                    "default": false
                },
                "description": {
                    "type": "string",
                    "description": "String to store description field on service"
                },
                "resiliencyHandlingPackage": {
                    "type": "array",
                    "description": " triggers stitcher building resiliency view and NSI updating layerRate in resiliency view",
                    "items": {
                        "$ref": "#/definitions/ResiliencyHandlingPackageRO"
                    }
                },
                "resiliencyPackage": {
                    "description": "The fre resiliency package contains attributes only appear in resiliency view.",
                    "$ref": "#/definitions/FreResiliencyPackageRO"
                },
                "adminWt": {
                    "type": "number",
                    "format": "double",
                    "description": "Administrative weight which specifies the level of importance given to the OSRP link"
                },
                "bundleIds": {
                    "type": "array",
                    "description": "List of up to 20 protection bundles to which the OSRP link belongs",
                    "items": {
                        "type": "string"
                    }
                },
                "latency": {
                    "type": "number",
                    "format": "double",
                    "description": "Indicates the delay in microseconds."
                },
                "domainTypes": {
                    "type": "array",
                    "description": "List of domains/protection scheme this FRE is included in.",
                    "items": {
                        "type": "string"
                    }
                },
                "resilienceLevel": {
                    "type": "string",
                    "description": "Indicates the general level of resiliency under this given FRE.",
                    "enum": [
                        "UNPROTECTED",
                        "PARTIAL",
                        "PROTECTED",
                        "PROTECTED_IN_JEOPARDY"
                    ]
                },
                "retainedMaxReservableBandwidth": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/CapacityRO"
                    }
                },
                "srlg": {
                    "type": "array",
                    "description": "Shared risk link group is used by the path computation engine to ensure that the alternate links involved in a service do not share the same shared risk link group.",
                    "items": {
                        "type": "string"
                    }
                },
                "shareSrlg": {
                    "type": "array",
                    "description": "Shared SRLGs of this FRE.",
                    "items": {
                        "type": "string"
                    }
                },
                "resiliencyTopologyPackage": {
                    "description": "This package stores resiliency topology information.",
                    "$ref": "#/definitions/ResiliencyTopologyPackageRO"
                },
                "bgpPackage": {
                    "description": "This package stores BGP information.",
                    "$ref": "#/definitions/FreBgpPackageRO"
                },
                "gneSubnetName": {
                    "type": "string",
                    "description": "The GNE Subnet Name of the FRE"
                },
                "groupPackage": {
                    "description": "Group Package",
                    "$ref": "#/definitions/GroupPackageRO"
                },
                "txInfo": {
                    "type": "array",
                    "description": "TxInfo for FRE",
                    "items": {
                        "$ref": "#/definitions/TxInfoRO"
                    }
                },
                "vrfPackage": {
                    "description": "Package that holds Virtual Routing and Forwarding data",
                    "$ref": "#/definitions/FreVrfPackageRO"
                },
                "remoteOSRPNodeName": {
                    "type": "string",
                    "description": " Destination OSRP node name"
                },
                "serviceClass": {
                    "type": "string",
                    "description": "Represents the type of FRE service",
                    "enum": [
                        "EVC",
                        "E_TRANSIT",
                        "E_ACCESS",
                        "VLAN",
                        "TDM",
                        "PSEUDOWIRE_LINK",
                        "TRANSPORT_CLIENT",
                        "PHOTONIC",
                        "TUNNEL",
                        "IP",
                        "LLDP",
                        "LAG",
                        "OTU",
                        "OSRP_LINK",
                        "OSRP_LINE",
                        "ROADM_LINE",
                        "OMS",
                        "FIBER",
                        "SNC",
                        "SNCP",
                        "ICL",
                        "RING",
                        "BGP_SESSION",
                        "EMBEDDED_ETHERNET_LINK",
                        "L_3_VPN",
                        "OT_SI",
                        "MEDIA",
                        "FLEXE_GROUP",
                        "FLEXE_LINK",
                        "FLEX_E",
                        "PATH",
                        "EVPN_VPWS"
                    ]
                },
                "utilizationData": {
                    "description": "Package that holds the UtilizationData",
                    "$ref": "#/definitions/UtilizationDataRO"
                },
                "otdrPackage": {
                    "description": "Otdr Package",
                    "$ref": "#/definitions/OtdrPackageRO"
                },
                "externalRoutePackage": {
                    "$ref": "#/definitions/ExternalRoutePackageRO"
                },
                "evpn": {
                    "description": "Package that holds Ethernet Virtual Private Network data",
                    "$ref": "#/definitions/EvpnRO"
                },
                "srTePolicyPackage": {
                    "description": "Package that holds SR-TE Policy Data",
                    "$ref": "#/definitions/FreSrTePolicyPackageRO"
                },
                "vpnPackage": {
                    "description": "Package that holds Vpn additional information",
                    "$ref": "#/definitions/VpnPackageRO"
                },
                "isSubmarineLink": {
                    "type": "boolean",
                    "description": "An indicator if the FRE is from submarine",
                    "default": false
                }
            }
        },
        "FrePlannedDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the planned fre"
                },
                "type": {
                    "type": "string",
                    "description": "The fre planned type",
                    "enum": [
                        "frePlanned"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/FrePlannedAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/FrePlannedRelationshipsRO"
                }
            }
        },
        "FrePlannedRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/FrePlannedDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Side loaded relationship resources",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "FrePlannedRelationshipsRO": {
            "type": "object",
            "properties": {
                "serviceIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentIntent": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "manualSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicAutoSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicInheritedSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicPropagatedSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "manualShareSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "dynamicPropagatedShareSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "writableToNetworkSRLG": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "endPoints": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstruct": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partitionFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "decomposedFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "freSwitch": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "partitionFreAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concrete": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "resiliencyController": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "encapsulatedResiliency": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "freSwitchList": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "networkConstructAssociation": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "srlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "shareSrlg": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "groups": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "configurationAndSwitchControl": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "partitioningFres": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "composingFre": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "decomposedFreAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "concreteAssociations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "supportedByServices": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "abstractServices": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "utilization": {
                    "description": "The one-to-one relationship",
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                }
            }
        },
        "FreProvisioningOperationAttributesRO": {
            "type": "object",
            "properties": {
                "operation": {
                    "type": "string",
                    "description": "The type of operation to apply. This attribute must present if inProvRealizations is not applicable",
                    "enum": [
                        "UPDATE",
                        "REMOVE",
                        "ADD"
                    ]
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AUMA"
                    ]
                },
                "inProvRealizations": {
                    "type": "array",
                    "description": "The object to be provisioned in the device",
                    "items": {
                        "$ref": "#/definitions/FreProvisioningRealizationRO"
                    }
                }
            }
        },
        "FreProvisioningOperationDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the FreProvisioningOperation"
                },
                "type": {
                    "type": "string",
                    "description": "The provisioningOperation resource type",
                    "enum": [
                        "provisioningOperation"
                    ]
                },
                "attributes": {
                    "description": "The FreProvisioningOperation attributes",
                    "$ref": "#/definitions/FreProvisioningOperationAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/FreProvisioningRelationshipsRO"
                }
            }
        },
        "FreProvisioningOperationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/FreProvisioningOperationDataRO"
                }
            }
        },
        "FreProvisioningRealizationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "enum": [
                        "ADD",
                        "REMOVE",
                        "REPLACE",
                        "NONE"
                    ]
                },
                "subOp": {
                    "type": "string",
                    "enum": [
                        "ADD_PROTECTION",
                        "REMOVE_PROTECTION"
                    ]
                },
                "equipments": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentRO"
                    }
                },
                "tpes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TpeRO"
                    }
                },
                "fres": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FreRO"
                    }
                }
            }
        },
        "FreProvisioningRelationshipsRO": {
            "type": "object",
            "properties": {
                "freExpectations": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "ProvisionPoliciesRO": {
            "type": "object",
            "properties": {
                "endPointPolicy": {
                    "type": "string",
                    "description": "For the end point(s) of an FRE will be added/deleted/no-action along with FRE's change",
                    "enum": [
                        "EndPointAddDelete",
                        "EndPointNone"
                    ]
                }
            }
        },
        "CleanUp": {
            "type": "object",
            "properties": {
                "sizethreshold": {
                    "description": "The size threshold in MB for cleanup of backup directory",
                    "type": "number",
                    "format": "double"
                }
            }
        },
        "DiskSize": {
            "type": "object",
            "properties": {
                "level": {
                    "description": "Disk space is filled up",
                    "type": "string",
                    "enum": [
                        "WARNING",
                        "CRITICAL",
                        "OK"
                    ]
                }
            }
        },
        "KafkaUp": {
            "type": "object",
            "properties": {
                "level": {
                    "description": "Kafka is up or down",
                    "type": "string",
                    "enum": [
                        "WARNING",
                        "CRITICAL",
                        "OK"
                    ]
                }
            }
        },
        "PithosUp": {
            "type": "object",
            "properties": {
                "level": {
                    "description": "Pithos is up or down",
                    "type": "string",
                    "enum": [
                        "WARNING",
                        "CRITICAL",
                        "OK"
                    ]
                }
            }
        },
        "CoordinateNvp": {
            "type": "object",
            "properties": {
                "x": {
                    "type": "number",
                    "format": "double"
                },
                "y": {
                    "type": "number",
                    "format": "double"
                },
                "z": {
                    "type": "number",
                    "format": "double"
                }
            }
        },
        "CoordinateRO": {
            "type": "object",
            "properties": {
                "coordinateNvp": {
                    "$ref": "#/definitions/CoordinateNvp"
                }
            }
        },
        "DimensionNvp": {
            "type": "object",
            "properties": {
                "width": {
                    "type": "number",
                    "format": "double"
                },
                "height": {
                    "type": "number",
                    "format": "double"
                },
                "depth": {
                    "type": "number",
                    "format": "double"
                },
                "offsetX": {
                    "type": "number",
                    "format": "double"
                }
            }
        },
        "DimensionRO": {
            "type": "object",
            "properties": {
                "dimensionNvp": {
                    "$ref": "#/definitions/DimensionNvp"
                }
            }
        },
        "EquipmentGraphicAttributesRO": {
            "type": "object",
            "properties": {
                "eqpType": {
                    "$ref": "#/definitions/EquipmentLayoutRO"
                },
                "layoutId": {
                    "type": "object"
                },
                "cardType": {
                    "type": "object"
                },
                "location": {
                    "$ref": "#/definitions/LocationRO"
                },
                "isPluggable": {
                    "type": "boolean",
                    "default": false
                },
                "neName": {
                    "type": "string"
                },
                "slotWidth": {
                    "type": "number",
                    "format": "double"
                },
                "slotHeight": {
                    "type": "number",
                    "format": "double"
                },
                "nativeName": {
                    "type": "string"
                },
                "inventoryEquipmentId": {
                    "type": "string"
                },
                "displayNameFormat": {
                    "type": "string"
                },
                "accessIdentifier": {
                    "type": "string"
                },
                "alarmMatchableAID": {
                    "type": "string"
                },
                "partNumber": {
                    "type": "string"
                },
                "installedPartNumber": {
                    "type": "string"
                },
                "provisionedPartNumber": {
                    "type": "string"
                },
                "isMismatch": {
                    "type": "boolean",
                    "default": false
                },
                "ncId": {
                    "type": "string"
                },
                "epqId": {
                    "type": "string"
                },
                "pattern": {
                    "type": "string"
                },
                "physicalLocations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AUMA"
                    ]
                },
                "version": {
                    "type": "string"
                },
                "availabilityState": {
                    "type": "string",
                    "enum": [
                        "PLANNED",
                        "AVAILABLE",
                        "UNVALIDATED",
                        "INUSE"
                    ]
                },
                "serialNumber": {
                    "type": "string"
                },
                "ledsInfo": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "subEquipmentGraphics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentGraphicRO"
                    }
                },
                "planningStatus": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "siteId": {
                    "type": "string"
                },
                "siteName": {
                    "type": "string"
                },
                "groupId": {
                    "type": "string"
                },
                "defaultPanel": {
                    "type": "string"
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/AdditionalAttributesRO"
                }
            }
        },
        "EquipmentGraphicDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "EQUIPMENT_GRAPHICS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/EquipmentGraphicAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/EquipmentGraphicRelationshipsRO"
                }
            }
        },
        "EquipmentGraphicListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentGraphicDataRO"
                    }
                }
            }
        },
        "EquipmentGraphicRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/EquipmentGraphicDataRO"
                }
            }
        },
        "EquipmentGraphicRelationshipsRO": {
            "type": "object",
            "properties": {
                "equipmentLayout": {
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "subEquipmentGraphics": {
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "EquipmentLayoutAttributesRO": {
            "type": "object",
            "properties": {
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LabelRO"
                    }
                },
                "equipmentType": {
                    "type": "string"
                },
                "isZoomSupported": {
                    "type": "boolean",
                    "default": false
                },
                "newLayout": {
                    "type": "boolean",
                    "default": false
                },
                "backViewGap": {
                    "type": "number",
                    "format": "double"
                },
                "useEquipmentAlarmIndicatorBox": {
                    "type": "boolean",
                    "default": false
                },
                "locationType": {
                    "type": "string",
                    "enum": [
                        "EXTERNAL",
                        "INTERNAL"
                    ]
                },
                "equipmentSubtype": {
                    "type": "string"
                },
                "dimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "equipmentHolders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SlotLayoutRO"
                    }
                },
                "imageFile": {
                    "type": "string"
                },
                "showPortBorders": {
                    "type": "boolean",
                    "default": false
                },
                "fill": {
                    "type": "string"
                },
                "ports": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PortLayoutRO"
                    }
                },
                "leds": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LEDLayoutRO"
                    }
                }
            }
        },
        "EquipmentLayoutDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "EQUIPMENT_LAYOUTS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/EquipmentLayoutAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/EquipmentLayoutRelationshipsRO"
                }
            }
        },
        "EquipmentLayoutListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentLayoutDataRO"
                    }
                }
            }
        },
        "EquipmentLayoutRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/EquipmentLayoutDataRO"
                }
            }
        },
        "EquipmentLayoutRelationshipsRO": {
            "type": "object"
        },
        "LEDLayoutRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                },
                "location": {
                    "$ref": "#/definitions/CoordinateRO"
                },
                "ledType": {
                    "type": "string"
                },
                "ledShape": {
                    "type": "string"
                },
                "dimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "imageFile": {
                    "type": "string"
                }
            }
        },
        "LabelRO": {
            "type": "object",
            "properties": {
                "dimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "location": {
                    "$ref": "#/definitions/CoordinateRO"
                },
                "text": {
                    "type": "string"
                },
                "fontSize": {
                    "type": "number",
                    "format": "double"
                },
                "fontStyle": {
                    "type": "string"
                },
                "fontWeight": {
                    "type": "string"
                },
                "imageFile": {
                    "type": "string"
                },
                "border": {
                    "type": "boolean",
                    "default": false
                },
                "labelOffset": {
                    "$ref": "#/definitions/CoordinateRO"
                }
            }
        },
        "PortLayoutRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "fontSize": {
                    "type": "number",
                    "format": "double"
                },
                "fixedDescription": {
                    "type": "string"
                },
                "fontStyle": {
                    "type": "string"
                },
                "fontWeight": {
                    "type": "string"
                },
                "pattern": {
                    "type": "string"
                },
                "hideLabel": {
                    "type": "boolean",
                    "default": false
                },
                "useRelatedPlugEquipmentPattern": {
                    "type": "boolean",
                    "default": false
                },
                "label": {
                    "type": "string"
                },
                "labelOffset": {
                    "$ref": "#/definitions/CoordinateRO"
                },
                "connectorType": {
                    "type": "string"
                },
                "isHoverable": {
                    "type": "boolean",
                    "default": false
                },
                "isSelectable": {
                    "type": "boolean",
                    "default": false
                },
                "dimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "location": {
                    "$ref": "#/definitions/CoordinateRO"
                },
                "imageFileFilled": {
                    "type": "string"
                },
                "emptyImageFileFilled": {
                    "type": "string"
                },
                "imageFileEmpty": {
                    "type": "string"
                }
            }
        },
        "ShelfGraphicAttributesRO": {
            "type": "object",
            "properties": {
                "neName": {
                    "type": "string"
                },
                "accessIdentifier": {
                    "type": "string"
                },
                "ipAddress": {
                    "type": "string"
                },
                "layoutId": {
                    "type": "object"
                },
                "combinedAlarmPatternOfMemberShelves": {
                    "type": "object"
                },
                "inventoryEquipmentId": {
                    "type": "string"
                },
                "partNumber": {
                    "type": "string"
                },
                "ncId": {
                    "type": "string"
                },
                "managementSessionNcId": {
                    "type": "string"
                },
                "geoLocation": {
                    "$ref": "#/definitions/GeoLocationRO"
                },
                "serialNumber": {
                    "type": "string"
                },
                "state": {
                    "type": "string",
                    "enum": [
                        "IS",
                        "OOS",
                        "OOS_AUMA"
                    ]
                },
                "equipmentGraphics": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EquipmentGraphicRO"
                    }
                },
                "resourceType": {
                    "type": "string"
                },
                "locations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                },
                "planningStatus": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "contactStatus": {
                    "type": "string"
                },
                "version": {
                    "type": "string"
                },
                "siteId": {
                    "type": "string"
                },
                "siteName": {
                    "type": "string"
                },
                "pattern": {
                    "type": "string"
                },
                "additionalAttributes": {
                    "$ref": "#/definitions/AdditionalAttributesRO"
                },
                "physicalLocations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LocationRO"
                    }
                }
            }
        },
        "ShelfGraphicDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "SHELF_GRAPHICS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ShelfGraphicAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/ShelfGraphicRelationshipsRO"
                }
            }
        },
        "ShelfGraphicListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ShelfGraphicDataRO"
                    }
                }
            }
        },
        "ShelfGraphicRelationshipsRO": {
            "type": "object",
            "properties": {
                "shelfLayout": {
                    "$ref": "#/definitions/OneToOneRelationshipRO"
                },
                "equipmentGraphics": {
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "ShelfLayoutAttributesRO": {
            "type": "object",
            "properties": {
                "label": {
                    "type": "string"
                },
                "shelfType": {
                    "type": "string"
                },
                "normalScale": {
                    "type": "number",
                    "format": "double"
                },
                "containsPatternDelimitter": {
                    "type": "string"
                },
                "newLayout": {
                    "type": "boolean",
                    "default": false
                },
                "isXCVRInfoSupported": {
                    "type": "boolean",
                    "default": false
                },
                "backViewGap": {
                    "type": "number",
                    "format": "double"
                },
                "isZoomSupported": {
                    "type": "boolean",
                    "default": false
                },
                "containsAlarmResourceId": {
                    "type": "boolean",
                    "default": false
                },
                "showIndependentNames": {
                    "type": "boolean",
                    "default": false
                },
                "defaultDimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "dimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "reardimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "partNumber": {
                    "type": "string"
                },
                "subshelves": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SubshelfLayoutRO"
                    }
                },
                "rearSubshelves": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SubshelfLayoutRO"
                    }
                },
                "equipmentHolders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SlotLayoutRO"
                    }
                },
                "imageFile": {
                    "type": "string"
                },
                "ports": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PortLayoutRO"
                    }
                }
            }
        },
        "ShelfLayoutDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "SHELF_LAYOUTS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ShelfLayoutAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/ShelfLayoutRelationshipsRO"
                }
            }
        },
        "ShelfLayoutListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ShelfLayoutDataRO"
                    }
                }
            }
        },
        "ShelfLayoutRelationshipsRO": {
            "type": "object"
        },
        "SlotLayoutRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "nativeId": {
                    "type": "string"
                },
                "labels": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/LabelRO"
                    }
                },
                "equipmentHolderType": {
                    "type": "string"
                },
                "dimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "location": {
                    "$ref": "#/definitions/CoordinateRO"
                },
                "equipmentHolders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SlotLayoutRO"
                    }
                },
                "imageFile": {
                    "type": "string"
                },
                "equipmentRotation": {
                    "type": "number",
                    "format": "double"
                },
                "layoutId": {
                    "type": "string"
                }
            }
        },
        "SubshelfLayoutRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "label": {
                    "type": "string"
                },
                "subshelfType": {
                    "type": "string"
                },
                "pattern": {
                    "type": "string"
                },
                "subshelfStrokeWidth": {
                    "type": "number",
                    "format": "double"
                },
                "dimensions": {
                    "$ref": "#/definitions/DimensionRO"
                },
                "location": {
                    "$ref": "#/definitions/CoordinateRO"
                },
                "subshelves": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SubshelfLayoutRO"
                    }
                },
                "equipmentHolders": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SlotLayoutRO"
                    }
                },
                "fill": {
                    "type": "string"
                },
                "imageFile": {
                    "type": "string"
                },
                "ports": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PortLayoutRO"
                    }
                }
            }
        },
        "AssociatedResourceData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "type": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "attributes": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/AssociatedResourceDataAttributes"
                }
            }
        },
        "AssociatedResourceDataAttributes": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "resourceName": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "resourceType": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "resourceSubType": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "resourceDisplaySubType": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "owningNetworkConstruct": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "layerRate": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "layerRateQualifier": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "directionality": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "srlgSource": {
                    "type": "array",
                    "description": "An explanation about the purpose of this instance.",
                    "items": {
                        "type": "string"
                    }
                },
                "endPoints": {
                    "type": "array",
                    "description": "An explanation about the purpose of this instance.",
                    "items": {
                        "$ref": "#/definitions/ResourceEndpointAttributes"
                    }
                }
            }
        },
        "AssociatedSrlgData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "type": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "attributes": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/AssociatedSrlgDataAttributes"
                }
            }
        },
        "AssociatedSrlgDataAttributes": {
            "type": "object",
            "properties": {
                "srlgValue": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "structuredSrlg": {
                    "description": "The container object for the Srlg Structured Values ",
                    "$ref": "#/definitions/SrlgStructuredValues"
                },
                "srlgSource": {
                    "type": "array",
                    "description": "An explanation about the purpose of this instance.",
                    "items": {
                        "type": "string"
                    }
                },
                "writableToNetwork": {
                    "type": "string",
                    "description": "Indicates if this srlg value is going to be pushed on the network. Possible values are yes/no"
                },
                "srlgMismatch": {
                    "type": "boolean",
                    "description": "Indicates if the srlg values is resultant in mismatch on planned and dicovered Srlg.",
                    "default": false
                },
                "endPointSrlgSources": {
                    "type": "array",
                    "description": "An explanation about the purpose of this instance.",
                    "items": {
                        "$ref": "#/definitions/EndPointSrlgSource"
                    }
                }
            }
        },
        "AssociatedSrlgsResponse": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/MetaData"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AssociatedSrlgData"
                    }
                }
            }
        },
        "AuditReconcileAttributeV2": {
            "type": "object",
            "properties": {
                "attribute_name": {
                    "type": "string",
                    "description": "attribute name"
                },
                "expectedValue": {
                    "type": "array",
                    "description": "expected values",
                    "items": {
                        "type": "string"
                    }
                },
                "actualValue": {
                    "type": "array",
                    "description": "actual values",
                    "items": {
                        "type": "string"
                    }
                },
                "isCorrected": {
                    "type": "boolean",
                    "description": "if reconciled",
                    "default": false
                }
            }
        },
        "Bucket": {
            "type": "object",
            "properties": {
                "bucketKey": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "bucketValue": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                }
            }
        },
        "EndPointSrlgDetails": {
            "type": "object",
            "properties": {
                "tpeId": {
                    "type": "string"
                },
                "owningNetworkConstruct": {
                    "type": "string"
                },
                "discoveredSrlgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "EndPointSrlgSource": {
            "type": "object",
            "properties": {
                "tpeDetails": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/TpeDetails"
                },
                "srlgSource": {
                    "type": "array",
                    "description": "An explanation about the purpose of this instance.",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ExternalSrlg": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ExternalSrlgData"
                }
            }
        },
        "ExternalSrlgAttributes": {
            "type": "object",
            "properties": {
                "label": {
                    "type": "string",
                    "description": "Label."
                },
                "srlg": {
                    "type": "string",
                    "description": "Srlg Value."
                },
                "srlgStructured": {
                    "description": "The container object for the Srlg Structured Values ",
                    "$ref": "#/definitions/SrlgStructuredValues"
                }
            }
        },
        "ExternalSrlgData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of SRLG."
                },
                "type": {
                    "type": "string",
                    "description": "Operation type."
                },
                "attributes": {
                    "$ref": "#/definitions/ExternalSrlgAttributes"
                }
            }
        },
        "ExternalSrlgLinks": {
            "type": "object",
            "properties": {
                "next": {
                    "type": "string",
                    "format": "uri",
                    "description": "Next Page of Data"
                },
                "current": {
                    "type": "string",
                    "format": "uri",
                    "description": "Current Page of Data"
                }
            }
        },
        "ExternalSrlgList": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/ExternalSrlgMetaData"
                },
                "links": {
                    "$ref": "#/definitions/ExternalSrlgLinks"
                },
                "data": {
                    "type": "array",
                    "description": "An array of SRLG Data",
                    "items": {
                        "$ref": "#/definitions/ExternalSrlgData"
                    }
                }
            }
        },
        "ExternalSrlgMetaData": {
            "type": "object",
            "properties": {
                "total": {
                    "type": "integer",
                    "format": "int32",
                    "description": "The total number of entities in the data"
                }
            }
        },
        "ExternalSrlgPoolRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ExternalSrlgPoolRequestData"
                }
            }
        },
        "ExternalSrlgPoolRequestAttributes": {
            "type": "object",
            "properties": {
                "label": {
                    "type": "string",
                    "description": "Label."
                },
                "id": {
                    "type": "string",
                    "description": "Id of Srlg to be released"
                },
                "srlgFields": {
                    "description": "The container object for the Srlg fields",
                    "$ref": "#/definitions/ExternalSrlgPoolRequestFields"
                }
            }
        },
        "ExternalSrlgPoolRequestData": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "enum": [
                        "auto_assign",
                        "clear_auto_assign",
                        "propagate",
                        "write_to_network",
                        "propagate_share_srlg",
                        "clear_propagated_share_srlg",
                        "assign_external_srlg",
                        "release_external_srlg",
                        "reset_external_srlg",
                        "audit_fb_profile",
                        "clear_manual_assign"
                    ]
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "externalSRLGs"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ExternalSrlgPoolRequestAttributes"
                }
            }
        },
        "ExternalSrlgPoolRequestFields": {
            "type": "object"
        },
        "ExternalSrlgPoolResetResponse": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of SRLG operation"
                },
                "jobType": {
                    "type": "string",
                    "enum": [
                        "auto_assign",
                        "clear_auto_assign",
                        "propagate",
                        "write_to_network",
                        "propagate_share_srlg",
                        "clear_propagated_share_srlg",
                        "assign_external_srlg",
                        "release_external_srlg",
                        "reset_external_srlg",
                        "audit_fb_profile",
                        "clear_manual_assign"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ExternalSrlgPoolResetResponseAttributes"
                }
            }
        },
        "ExternalSrlgPoolResetResponseAttributes": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string",
                    "description": "Status."
                },
                "startTime": {
                    "type": "string",
                    "description": "Start Time."
                }
            }
        },
        "FbProfileAuditDetailsV2": {
            "type": "object",
            "properties": {
                "details": {
                    "type": "array",
                    "description": "audit/reconcile details",
                    "items": {
                        "$ref": "#/definitions/AuditReconcileAttributeV2"
                    }
                }
            }
        },
        "FbProfileOpAttributes": {
            "type": "object",
            "properties": {
                "attributeName": {
                    "type": "string"
                },
                "expectedValue": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "actualValue": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "corrected": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "FbProfileOpDetails": {
            "type": "object",
            "properties": {
                "details": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FbProfileOpAttributes"
                    }
                }
            }
        },
        "JobParams": {
            "type": "object"
        },
        "MismatchResource": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/MismatchResourceAttributes"
                }
            }
        },
        "MismatchResourceAttributes": {
            "type": "object",
            "properties": {
                "resourceType": {
                    "type": "string"
                },
                "resourceId": {
                    "type": "string"
                },
                "resourceName": {
                    "type": "string"
                },
                "resourceDesc": {
                    "type": "string"
                }
            }
        },
        "MismatchResourceV2": {
            "type": "object",
            "properties": {
                "resourceType": {
                    "type": "string"
                },
                "resourceId": {
                    "type": "string"
                },
                "resourceName": {
                    "type": "string"
                },
                "resourceDesc": {
                    "type": "string"
                },
                "owningNcId": {
                    "type": "string"
                },
                "discoveredSrlgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "plannedSrlgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ResourceEndpointAttributes": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "tpeDetailsList": {
                    "type": "array",
                    "description": "An explanation about the purpose of this instance.",
                    "items": {
                        "$ref": "#/definitions/TpeDetails"
                    }
                }
            }
        },
        "ShareSrlgResourceReferenceV2": {
            "type": "object",
            "properties": {
                "resourceType": {
                    "type": "string",
                    "enum": [
                        "NETWORK_CONSTRUCTS",
                        "FRES",
                        "EQUIPMENT",
                        "EQUIPMENTS",
                        "TPES"
                    ]
                },
                "resourceName": {
                    "type": "string",
                    "description": "Name of the resource"
                },
                "resourceId": {
                    "type": "string",
                    "description": "Resource id of the resource"
                }
            }
        },
        "ShareSrlgResourceReferenceV3": {
            "type": "object",
            "properties": {
                "resourceType": {
                    "type": "string",
                    "enum": [
                        "NETWORK_CONSTRUCTS",
                        "FRES",
                        "EQUIPMENT",
                        "EQUIPMENTS",
                        "TPES"
                    ]
                },
                "resourceName": {
                    "type": "string",
                    "description": "Name of the resource"
                },
                "resourceId": {
                    "type": "string",
                    "description": "Resource id of the resource"
                }
            }
        },
        "SrlgAllowedJobAttributes": {
            "type": "object",
            "properties": {
                "job_id": {
                    "type": "string",
                    "description": "Job id, which will be used in other request payloads"
                },
                "job_name": {
                    "type": "string",
                    "description": "Name of Job to be displayed on UI"
                }
            }
        },
        "SrlgAssignedResourcesListV2": {
            "type": "object",
            "properties": {
                "assignedResources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgAssignedResourcesV2"
                    }
                }
            }
        },
        "SrlgAssignedResourcesV2": {
            "type": "object",
            "properties": {
                "resourceType": {
                    "type": "string"
                },
                "resourceIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "SrlgAssignmentDetailsResponse": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/MetaData"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AssociatedResourceData"
                    }
                }
            }
        },
        "SrlgIntentRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Srlg input data",
                    "$ref": "#/definitions/SrlgIntentRequestData"
                }
            }
        },
        "SrlgIntentRequestAttributes": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string",
                    "description": "The resource id (fre-id) of the roadmline"
                },
                "resourceName": {
                    "type": "string",
                    "description": "Resource name (label) of the roadmline"
                },
                "resourceType": {
                    "type": "string",
                    "description": "Type of the resource.",
                    "enum": [
                        "FRE",
                        "TPE",
                        "NODE",
                        "EQUIPMENT"
                    ]
                },
                "srlgSet": {
                    "type": "array",
                    "description": "Srlg set",
                    "items": {
                        "$ref": "#/definitions/SrlgSet"
                    }
                }
            }
        },
        "SrlgIntentRequestAttributesV2": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string",
                    "description": "Resource id of the resource"
                },
                "resourceName": {
                    "type": "string",
                    "description": "Resource name of the resource"
                },
                "resourceType": {
                    "type": "string",
                    "enum": [
                        "NETWORK_CONSTRUCTS",
                        "TPES",
                        "FRES",
                        "EQUIPMENT",
                        "EQUIPMENTS"
                    ]
                },
                "srlgSet": {
                    "type": "array",
                    "description": "Represents the SRLG set. Can be either combined/auto/manual/inherited/propagated/discovered/manualShare/propagatedShare/combinedShare depending on the parent container",
                    "items": {
                        "$ref": "#/definitions/SrlgSetV2"
                    }
                }
            }
        },
        "SrlgIntentRequestData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "UUID rep"
                },
                "requestType": {
                    "type": "string",
                    "description": "type of request"
                },
                "attributes": {
                    "description": "Attributes of an slrg intent.",
                    "$ref": "#/definitions/SrlgIntentRequestAttributes"
                }
            }
        },
        "SrlgIntentRequestDataV2": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgIntentRequestAttributesV2"
                }
            }
        },
        "SrlgIntentRequestV2": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Data container carrying response of SRLG GET request",
                    "$ref": "#/definitions/SrlgIntentRequestDataV2"
                }
            }
        },
        "SrlgIntentResponseAttributesV3": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string",
                    "description": "Resource id of the resource"
                },
                "resourceName": {
                    "type": "string",
                    "description": "Resource name of the resource"
                },
                "resourceType": {
                    "type": "string",
                    "enum": [
                        "NETWORK_CONSTRUCTS",
                        "TPES",
                        "FRES",
                        "EQUIPMENTS"
                    ]
                },
                "srlgSet": {
                    "type": "array",
                    "description": "Represents the SRLG set. Can be either combined/auto/manual/inherited/propagated/discovered/manualShare/propagatedShare/combinedShare depending on the parent container",
                    "items": {
                        "$ref": "#/definitions/SrlgSetV3"
                    }
                }
            }
        },
        "SrlgIntentResponseDataV3": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgIntentResponseAttributesV3"
                }
            }
        },
        "SrlgIntentResponseV3": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Data container carrying response of SRLG GET request",
                    "$ref": "#/definitions/SrlgIntentResponseDataV3"
                }
            }
        },
        "SrlgJobAttributes": {
            "type": "object",
            "properties": {
                "jobType": {
                    "type": "string",
                    "enum": [
                        "auto_assign",
                        "clear_auto_assign",
                        "propagate",
                        "write_to_network",
                        "propagate_share_srlg",
                        "clear_propagated_share_srlg",
                        "assign_external_srlg",
                        "release_external_srlg",
                        "reset_external_srlg",
                        "audit_fb_profile",
                        "clear_manual_assign"
                    ]
                },
                "jobId": {
                    "type": "string",
                    "description": "Id of the operation"
                },
                "jobParams": {
                    "description": "Job Params",
                    "$ref": "#/definitions/JobParams"
                },
                "status": {
                    "type": "string",
                    "description": "Current status of the operation."
                },
                "startTime": {
                    "type": "string",
                    "description": "Start time of the operation"
                },
                "endTime": {
                    "type": "string",
                    "description": "End time of the operation"
                },
                "message": {
                    "type": "string",
                    "description": "Id of the operation"
                },
                "scheduleId": {
                    "type": "string",
                    "description": "Id of the schedule"
                },
                "scheduleName": {
                    "type": "string",
                    "description": "Name of the schedule"
                },
                "scopeType": {
                    "type": "string",
                    "description": "It can have two values, Network or Region."
                },
                "scopeValue": {
                    "type": "string",
                    "description": "This value must be present if scope is other than Network"
                },
                "jobDetails": {
                    "type": "array",
                    "description": "Srlg Manual Operations Response Details",
                    "items": {
                        "$ref": "#/definitions/SrlgManualJobOpResponseDetails"
                    }
                }
            }
        },
        "SrlgJobDetailsBO": {
            "type": "object",
            "properties": {
                "resourceType": {
                    "type": "string",
                    "enum": [
                        "NETWORK_CONSTRUCTS",
                        "TPES",
                        "FRES",
                        "EQUIPMENT",
                        "EQUIPMENTS"
                    ]
                },
                "resourceId": {
                    "type": "string"
                },
                "resourceName": {
                    "type": "string"
                },
                "riskType": {
                    "type": "string",
                    "enum": [
                        "ADD_DROP_BANK",
                        "LINE_MODULE",
                        "PHOTONIC_NODE",
                        "CONDUIT",
                        "FIBER_MANAGEMENT",
                        "SITE",
                        "POWER_SUPPLY",
                        "CUSTOM",
                        "ROADM_DEGREE",
                        "OTU_LINK",
                        "PACKET_LINK",
                        "OTN_NODE",
                        "PACKET_NODE",
                        "MULTI_SERVICE_NODE",
                        "SHELF",
                        "OTN_SUB_SYSTEM",
                        "PACKET_SUB_SYSTEM"
                    ]
                },
                "opStatus": {
                    "type": "string",
                    "enum": [
                        "success",
                        "skipped",
                        "ignored",
                        "failed"
                    ]
                },
                "appliedTime": {
                    "type": "string"
                },
                "message": {
                    "type": "string"
                },
                "srlgValue": {
                    "type": "string"
                },
                "userLabel": {
                    "type": "string"
                },
                "owningNcName": {
                    "type": "string"
                },
                "fbProfileName": {
                    "type": "string"
                },
                "fbProfileOpDetails": {
                    "$ref": "#/definitions/FbProfileOpDetails"
                },
                "resourceDesc": {
                    "type": "string"
                }
            }
        },
        "SrlgJobResponse": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/MetaData"
                },
                "data": {
                    "type": "array",
                    "description": "Srlg Job Response",
                    "items": {
                        "$ref": "#/definitions/SrlgJobResponseData"
                    }
                }
            }
        },
        "SrlgJobResponseData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier for the SrlgJob"
                },
                "type": {
                    "type": "string",
                    "description": "The job type",
                    "enum": [
                        "srlgJob"
                    ]
                },
                "attributes": {
                    "description": "Srlg Job Attributes. ",
                    "$ref": "#/definitions/SrlgJobAttributes"
                }
            }
        },
        "SrlgJobStatusBO": {
            "type": "object",
            "properties": {
                "lastTriggeredTime": {
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                },
                "id": {
                    "type": "string",
                    "format": "uuid"
                },
                "srlgJobType": {
                    "type": "string",
                    "enum": [
                        "clear_auto_assign",
                        "clear_propagated_share_srlg",
                        "auto_assign",
                        "propagate_share_srlg",
                        "propagate",
                        "write_to_network",
                        "audit_fb_profile",
                        "clear_manual_assign",
                        "manual_assign",
                        "assign_external_srlg",
                        "release_external_srlg",
                        "reset_external_srlg"
                    ]
                },
                "jobParams": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "jobDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgJobDetailsBO"
                    }
                },
                "srlgJobStatus": {
                    "type": "string",
                    "enum": [
                        "requested",
                        "in_progress",
                        "completed",
                        "failed"
                    ]
                },
                "message": {
                    "type": "string"
                },
                "lastUpdateTime": {
                    "type": "string"
                },
                "scheduleId": {
                    "type": "string"
                },
                "scheduleName": {
                    "type": "string"
                },
                "scopeType": {
                    "type": "string",
                    "enum": [
                        "network",
                        "subNetwork"
                    ]
                },
                "scopeValue": {
                    "type": "string"
                },
                "scheduled": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "SrlgManualJobDetailsOpResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Srlg Manual Operations Response Data",
                    "$ref": "#/definitions/SrlgManualJobDetailsOpResponseData"
                }
            }
        },
        "SrlgManualJobDetailsOpResponseAttributes": {
            "type": "object",
            "properties": {
                "jobType": {
                    "type": "string",
                    "enum": [
                        "auto_assign",
                        "clear_auto_assign",
                        "propagate",
                        "write_to_network",
                        "propagate_share_srlg",
                        "clear_propagated_share_srlg",
                        "assign_external_srlg",
                        "release_external_srlg",
                        "reset_external_srlg",
                        "audit_fb_profile",
                        "clear_manual_assign"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "Current status of the operation."
                },
                "startTime": {
                    "type": "string",
                    "description": "Start time of the operation"
                },
                "endTime": {
                    "type": "string",
                    "description": "End time of the operation"
                },
                "jobId": {
                    "type": "string",
                    "description": "Id of the operation"
                },
                "jobParams": {
                    "description": "Job Params supplied during job trigger",
                    "$ref": "#/definitions/JobParams"
                },
                "jobDetails": {
                    "type": "array",
                    "description": "Srlg Manual Operations Response Details",
                    "items": {
                        "$ref": "#/definitions/SrlgManualJobOpResponseDetails"
                    }
                },
                "message": {
                    "type": "string",
                    "description": "message of operation"
                }
            }
        },
        "SrlgManualJobDetailsOpResponseData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/SrlgManualJobDetailsOpResponseAttributes"
                }
            }
        },
        "SrlgManualJobOpResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "description": "Srlg Manual Operations Response Data",
                    "items": {
                        "$ref": "#/definitions/SrlgManualJobOpResponseData"
                    }
                }
            }
        },
        "SrlgManualJobOpResponseAttributes": {
            "type": "object",
            "properties": {
                "jobType": {
                    "type": "string",
                    "enum": [
                        "auto_assign",
                        "clear_auto_assign",
                        "propagate",
                        "write_to_network",
                        "propagate_share_srlg",
                        "clear_propagated_share_srlg",
                        "assign_external_srlg",
                        "release_external_srlg",
                        "reset_external_srlg",
                        "audit_fb_profile",
                        "clear_manual_assign"
                    ]
                },
                "status": {
                    "type": "string",
                    "description": "Current status of the operation."
                },
                "startTime": {
                    "type": "string",
                    "description": "Start time of the operation"
                },
                "endTime": {
                    "type": "string",
                    "description": "End time of the operation"
                },
                "jobId": {
                    "type": "string",
                    "description": "Id of the operation"
                },
                "message": {
                    "type": "string",
                    "description": "Id of the operation"
                }
            }
        },
        "SrlgManualJobOpResponseData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/SrlgManualJobOpResponseAttributes"
                }
            }
        },
        "SrlgManualJobOpResponseDetails": {
            "type": "object",
            "properties": {
                "resourceType": {
                    "type": "string",
                    "description": "resource type of operation"
                },
                "resourceId": {
                    "type": "string",
                    "description": "resource id of operation"
                },
                "resourceName": {
                    "type": "string",
                    "description": "resource name of operation"
                },
                "resourceDesc": {
                    "type": "string",
                    "description": "resource description of operation"
                },
                "riskType": {
                    "type": "string",
                    "description": "risk type of operation"
                },
                "opStatus": {
                    "type": "string",
                    "description": "status of operation"
                },
                "appliedTime": {
                    "type": "string",
                    "description": "applied time of operation"
                },
                "message": {
                    "type": "string",
                    "description": "message of operation"
                },
                "owningNc": {
                    "type": "string",
                    "description": "Owning NC name"
                },
                "fbProfileName": {
                    "type": "string",
                    "description": "Fb Profile Name"
                },
                "fbProfileOpDetails": {
                    "description": "Fb Profile AUdit/Reconcile Response Details. ",
                    "$ref": "#/definitions/FbProfileAuditDetailsV2"
                }
            }
        },
        "SrlgManualOpRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SrlgManualOpRequestData"
                }
            }
        },
        "SrlgManualOpRequestAttributes": {
            "type": "object",
            "properties": {
                "resourceType": {
                    "type": "string",
                    "description": "Resource Type",
                    "enum": [
                        "networkConstructs",
                        "tpes",
                        "fres",
                        "equipment",
                        "equipments"
                    ]
                },
                "riskType": {
                    "type": "string",
                    "description": "Risk Type."
                },
                "resourceId": {
                    "type": "string",
                    "description": "Resource Id."
                },
                "resourceName": {
                    "type": "string",
                    "description": "Resource Name."
                },
                "region": {
                    "type": "string",
                    "description": "Region"
                },
                "subNetwork": {
                    "type": "string",
                    "description": "Subnetwork"
                },
                "reconcile": {
                    "type": "boolean",
                    "description": "a value of true indicate reconcile is enabled",
                    "default": false
                },
                "opaque": {
                    "type": "string",
                    "description": "Opaque SRLG"
                },
                "structured": {
                    "description": "Structured SRLG",
                    "$ref": "#/definitions/Structured"
                },
                "resourceTypes": {
                    "type": "string",
                    "description": "Comma separated Resource Types"
                }
            }
        },
        "SrlgManualOpRequestData": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "enum": [
                        "auto_assign",
                        "clear_auto_assign",
                        "propagate",
                        "write_to_network",
                        "propagate_share_srlg",
                        "clear_propagated_share_srlg",
                        "assign_external_srlg",
                        "release_external_srlg",
                        "reset_external_srlg",
                        "audit_fb_profile",
                        "clear_manual_assign"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgManualOpRequestAttributes"
                }
            }
        },
        "SrlgMismatchData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/SrlgMismatchDataAttributes"
                }
            }
        },
        "SrlgMismatchDataAttributes": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string"
                },
                "resourceType": {
                    "type": "string"
                },
                "resourceName": {
                    "type": "string"
                },
                "resourceDesc": {
                    "type": "string"
                },
                "plannedSrlgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "writableSrlgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "endPointSrlgs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/EndPointSrlgDetails"
                    }
                }
            }
        },
        "SrlgMismatchDetailsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/SrlgMismatchData"
                }
            }
        },
        "SrlgMismatchResponse": {
            "type": "object",
            "properties": {
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/Links"
                },
                "meta": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/MetaData"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MismatchResource"
                    }
                }
            }
        },
        "SrlgMismatchResponseV2": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/MismatchResourceV2"
                    }
                }
            }
        },
        "SrlgResourceAssignmentDetailsV2": {
            "type": "object",
            "properties": {
                "auto": {
                    "$ref": "#/definitions/SrlgAssignedResourcesListV2"
                },
                "manual": {
                    "$ref": "#/definitions/SrlgAssignedResourcesListV2"
                },
                "inherited": {
                    "$ref": "#/definitions/SrlgAssignedResourcesListV2"
                },
                "propagated": {
                    "$ref": "#/definitions/SrlgAssignedResourcesListV2"
                },
                "discovered": {
                    "$ref": "#/definitions/SrlgAssignedResourcesListV2"
                },
                "manualShare": {
                    "$ref": "#/definitions/SrlgAssignedResourcesListV2"
                },
                "propagatedShare": {
                    "$ref": "#/definitions/SrlgAssignedResourcesListV2"
                }
            }
        },
        "SrlgResourceResponseDataV2": {
            "type": "object",
            "properties": {
                "srlgValue": {
                    "type": "string"
                },
                "assignmentDetails": {
                    "$ref": "#/definitions/SrlgResourceAssignmentDetailsV2"
                }
            }
        },
        "SrlgResourceResponseV2": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SrlgResourceResponseDataV2"
                }
            }
        },
        "SrlgScheduleAttributes": {
            "type": "object",
            "properties": {
                "scheduleId": {
                    "type": "string",
                    "description": "Id of the schedule"
                },
                "scheduleName": {
                    "type": "string",
                    "description": "Name of the schedule"
                },
                "scopeType": {
                    "type": "string",
                    "description": "It can have two values, Network or Region."
                },
                "scopeValue": {
                    "type": "string",
                    "description": "This value must be present if scope is other than Network"
                },
                "cronExpression": {
                    "type": "string",
                    "description": "Cron Expression defining schedule of running provided SRLG jobs."
                },
                "cronExpressionFormat": {
                    "type": "string",
                    "description": "Cron Expression Format, it is generally Quartz"
                },
                "cronDescription": {
                    "type": "string",
                    "description": "Description of Cron expression like it will run daily, weekly, monthly etc"
                },
                "lastRunTime": {
                    "type": "string",
                    "description": "Date it last ran"
                },
                "nextRunTime": {
                    "type": "string",
                    "description": "Date, it would run next"
                },
                "jobs": {
                    "type": "array",
                    "description": "Set of SRLG jobs that need to be run as part of this schedule",
                    "items": {
                        "type": "string",
                        "enum": [
                            "auto_assign",
                            "clear_auto_assign",
                            "propagate",
                            "write_to_network",
                            "propagate_share_srlg",
                            "clear_propagated_share_srlg",
                            "assign_external_srlg",
                            "release_external_srlg",
                            "reset_external_srlg",
                            "audit_fb_profile",
                            "clear_manual_assign"
                        ]
                    }
                }
            }
        },
        "SrlgScheduleData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Unique identification of record, generally holds scheduleId"
                },
                "type": {
                    "type": "string",
                    "description": "It is type - SrlgSchedule"
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgScheduleAttributes"
                }
            }
        },
        "SrlgScheduleModelsAttributes": {
            "type": "object",
            "properties": {
                "jobs": {
                    "type": "array",
                    "description": "SRLG Jobs supported for scheduling",
                    "items": {
                        "$ref": "#/definitions/SrlgAllowedJobAttributes"
                    }
                }
            }
        },
        "SrlgScheduleModelsData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier"
                },
                "type": {
                    "type": "string",
                    "description": "The Srlg Schedule Models type",
                    "enum": [
                        "srlgScheduleModels"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgScheduleModelsAttributes"
                }
            }
        },
        "SrlgScheduleModelsResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SrlgScheduleModelsData"
                }
            }
        },
        "SrlgScheduleRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Srlg Schedule Data and it's attributes.",
                    "$ref": "#/definitions/SrlgScheduleData"
                }
            }
        },
        "SrlgScheduleResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "description": "Srlg Schedule Data and it's attributes.",
                    "$ref": "#/definitions/SrlgScheduleData"
                }
            }
        },
        "SrlgSchedulesResponse": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "The root schema comprises the entire JSON document.",
                    "$ref": "#/definitions/MetaData"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgScheduleData"
                    }
                }
            }
        },
        "SrlgSet": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Id of the srlgset"
                },
                "plannedStartDate": {
                    "type": "string",
                    "description": "Planned start date in rfc 3339 format"
                },
                "srlgValues": {
                    "type": "array",
                    "description": "Srlg values",
                    "items": {
                        "type": "string"
                    }
                },
                "structuredSRLGValues": {
                    "type": "array",
                    "description": "structuredSRLGValues",
                    "items": {
                        "$ref": "#/definitions/StructuredSrlgValues"
                    }
                }
            }
        },
        "SrlgSetV2": {
            "type": "object",
            "properties": {
                "plannedStartDate": {
                    "type": "string",
                    "description": "Expectation Planned Start Date."
                },
                "combined": {
                    "$ref": "#/definitions/SrlgV2"
                },
                "auto": {
                    "$ref": "#/definitions/SrlgV2"
                },
                "manual": {
                    "$ref": "#/definitions/SrlgV2"
                },
                "inherited": {
                    "$ref": "#/definitions/SrlgV2"
                },
                "propagated": {
                    "$ref": "#/definitions/SrlgV2"
                },
                "discovered": {
                    "$ref": "#/definitions/SrlgV2"
                },
                "manualShare": {
                    "$ref": "#/definitions/SrlgV2"
                },
                "propagatedShare": {
                    "$ref": "#/definitions/SrlgV2"
                },
                "combinedShare": {
                    "$ref": "#/definitions/SrlgV2"
                }
            }
        },
        "SrlgSetV3": {
            "type": "object",
            "properties": {
                "plannedStartDate": {
                    "type": "string",
                    "description": "Expectation Planned Start Date."
                },
                "combined": {
                    "$ref": "#/definitions/SrlgV3"
                },
                "auto": {
                    "$ref": "#/definitions/SrlgV3"
                },
                "manual": {
                    "$ref": "#/definitions/SrlgV3"
                },
                "inherited": {
                    "$ref": "#/definitions/SrlgV3"
                },
                "propagated": {
                    "$ref": "#/definitions/SrlgV3"
                },
                "discovered": {
                    "$ref": "#/definitions/SrlgV3"
                },
                "manualShare": {
                    "$ref": "#/definitions/SrlgV3"
                },
                "propagatedShare": {
                    "$ref": "#/definitions/SrlgV3"
                },
                "combinedShare": {
                    "$ref": "#/definitions/SrlgV3"
                }
            }
        },
        "SrlgStructuredValues": {
            "type": "object"
        },
        "SrlgV2": {
            "type": "object",
            "properties": {
                "srlgStructuredValues": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgStructuredValues"
                    }
                },
                "srlgValues": {
                    "type": "array",
                    "description": "SRLG Values set in Opaque format. If user assigns Structured SRLG in opaque format, then all optional values must be given as well",
                    "items": {
                        "type": "string"
                    }
                },
                "srlgRefs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ShareSrlgResourceReferenceV2"
                    }
                }
            }
        },
        "SrlgV3": {
            "type": "object",
            "properties": {
                "srlgStructuredValues": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgStructuredValues"
                    }
                },
                "srlgValues": {
                    "type": "array",
                    "description": "SRLG Values set in Opaque format. If user assigns Structured SRLG in opaque format, then all optional values must be given as well",
                    "items": {
                        "type": "string"
                    }
                },
                "srlgRefs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ShareSrlgResourceReferenceV3"
                    }
                }
            }
        },
        "Structured": {
            "type": "object"
        },
        "StructuredSrlgValues": {
            "type": "object",
            "properties": {
                "userBit": {
                    "type": "string",
                    "description": "user bit value of srlg"
                },
                "controller": {
                    "type": "string",
                    "description": "controller value of srlg"
                },
                "srlgType": {
                    "type": "string",
                    "description": "srlg type value of srlg"
                },
                "srlgPriority": {
                    "type": "string",
                    "description": " srlg priority value of srlg"
                },
                "srlgRisk": {
                    "type": "string",
                    "description": "srlg risk value of srlg"
                }
            }
        },
        "StructuredValues": {
            "type": "object"
        },
        "TpeDetails": {
            "type": "object",
            "properties": {
                "tpeId": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "owningNetworkConstruct": {
                    "type": "string",
                    "description": "An explanation about the purpose of this instance."
                },
                "locations": {
                    "type": "array",
                    "description": "An explanation about the purpose of this instance.",
                    "items": {
                        "$ref": "#/definitions/Location"
                    }
                }
            }
        },
        "AssignableEntityConfigPatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on an Auto-assignable Entity Config resource",
                    "enum": [
                        "replace"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgAssignableEntityConfigAttributesRO"
                }
            }
        },
        "AssignableEntityConfigPatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AssignableEntityConfigPatchOperationRO"
                    }
                }
            }
        },
        "DataRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "Operation to be performed on SRLG Pool",
                    "enum": [
                        "assign",
                        "release",
                        "reset"
                    ]
                },
                "type": {
                    "type": "string",
                    "description": "Type string",
                    "enum": [
                        "externalSRLGs"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SRLGPoolOperationDataAttributesRO"
                }
            }
        },
        "NameValueStringPairRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "parameter name."
                },
                "value": {
                    "type": "string",
                    "description": "parameter value."
                }
            }
        },
        "NameValuesPairRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of this pair (e.g. 'property1')."
                },
                "values": {
                    "type": "array",
                    "description": "values of this pair (e.g. ['myValue1','myValue2'] or '6').",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "PropagatableServiceConfigPatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on an Propagatable Service Config resource",
                    "enum": [
                        "replace"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgPropagatableServiceConfigAttributesRO"
                }
            }
        },
        "PropagatableServiceConfigPatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PropagatableServiceConfigPatchOperationRO"
                    }
                }
            }
        },
        "SrlgAssignableEntitiesListRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "description": "A metadata object that contains non-standard meta information",
                    "$ref": "#/definitions/MetaDataRO"
                },
                "links": {
                    "description": "Links related to the resource",
                    "$ref": "#/definitions/LinksRO"
                },
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgAssignableEntitiesRO"
                    }
                }
            }
        },
        "SrlgAssignableEntitiesRO": {
            "type": "object",
            "properties": {
                "entityType": {
                    "type": "string",
                    "enum": [
                        "FRES",
                        "NETWORK_CONSTRUCTS",
                        "EQUIPMENTS"
                    ]
                },
                "riskType": {
                    "type": "string"
                },
                "entityIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "SrlgAssignableEntityConfigAttributesRO": {
            "type": "object",
            "properties": {
                "entityType": {
                    "type": "string",
                    "enum": [
                        "FRES",
                        "EQUIPMENTS",
                        "NETWORK_CONSTRUCTS"
                    ]
                },
                "filters": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgAssignableEntityConfigFilterRO"
                    }
                }
            }
        },
        "SrlgAssignableEntityConfigDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the Srlg Assignable Entity Configuration"
                },
                "type": {
                    "type": "string",
                    "description": "The Srlg Assignable Entity Configuration Type",
                    "enum": [
                        "assignableEntityConfiguration"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgAssignableEntityConfigAttributesRO"
                }
            }
        },
        "SrlgAssignableEntityConfigFilterRO": {
            "type": "object",
            "properties": {
                "riskType": {
                    "type": "string"
                },
                "criteria": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NameValuesPairRO"
                    }
                }
            }
        },
        "SrlgAssignableEntityConfigurationListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgAssignableEntityConfigDataRO"
                    }
                }
            }
        },
        "SrlgFormatAttributesRO": {
            "type": "object",
            "properties": {
                "isEnabled": {
                    "type": "boolean",
                    "default": false
                },
                "type": {
                    "type": "string",
                    "description": "Format type of schema : structured or opaque",
                    "enum": [
                        "STRUCTURED",
                        "OPAQUE"
                    ]
                },
                "isAutoAssignmentOn": {
                    "type": "boolean",
                    "default": false
                },
                "isPropagationOn": {
                    "type": "boolean",
                    "default": false
                },
                "length": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Length of Srlg. There will be no restriction on length for opaque format"
                },
                "displayFormat": {
                    "type": "string",
                    "description": "Suggests how the opaque equivalent value will be displayed to user",
                    "enum": [
                        "DECIMAL",
                        "BIT",
                        "STRING",
                        "HEXADECIMAL"
                    ]
                },
                "structure": {
                    "type": "array",
                    "description": "Strucutred items of SRLG",
                    "items": {
                        "$ref": "#/definitions/SrlgFormatStructureRO"
                    }
                }
            }
        },
        "SrlgFormatDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "enum": [
                        "SRLG_FORMAT"
                    ]
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "SRLG_FORMAT"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgFormatAttributesRO"
                },
                "relationships": {
                    "$ref": "#/definitions/SrlgFormatRelationshipsRO"
                }
            }
        },
        "SrlgFormatMappingAttributesRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "parameter name."
                },
                "value": {
                    "type": "string",
                    "description": "parameter value."
                },
                "reservedForExtPool": {
                    "type": "boolean",
                    "description": "If reserved for the definition of External pool",
                    "default": false
                }
            }
        },
        "SrlgFormatMappingDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the Srlg Format Mapping"
                },
                "type": {
                    "type": "string",
                    "description": "The Srlg Format mapping Type"
                },
                "attributes": {
                    "description": "a String pair of name-value",
                    "$ref": "#/definitions/SrlgFormatMappingAttributesRO"
                }
            }
        },
        "SrlgFormatMappingListRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgFormatMappingDataRO"
                    }
                }
            }
        },
        "SrlgFormatPatchOperationRO": {
            "type": "object",
            "properties": {
                "op": {
                    "type": "string",
                    "description": "supported operation on an SrlgFormat resource",
                    "enum": [
                        "replace"
                    ]
                },
                "forceUpdate": {
                    "type": "boolean",
                    "description": "Used when the user wishes to update the srlgFormat forcefully.",
                    "default": false
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgFormatAttributesRO"
                }
            }
        },
        "SrlgFormatPatchRO": {
            "type": "object",
            "properties": {
                "operations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgFormatPatchOperationRO"
                    }
                }
            }
        },
        "SrlgFormatRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SrlgFormatDataRO"
                },
                "included": {
                    "type": "array",
                    "description": "Referenced resources ",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "SrlgFormatRelationshipsRO": {
            "type": "object",
            "properties": {
                "srlgFormatMappings": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "assignableEntityConfiguration": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                },
                "propagatableServiceConfiguration": {
                    "description": "The one-to-many relationship",
                    "$ref": "#/definitions/OneToManyRelationshipRO"
                }
            }
        },
        "SrlgFormatStructureRO": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "enum": [
                        "RISK_TYPE",
                        "RISK_VALUE",
                        "SUB_NETWORK"
                    ]
                },
                "displayName": {
                    "type": "string",
                    "description": "This will be the label that will be exposed on API for representing SRLG Structure"
                },
                "startPos": {
                    "type": "integer",
                    "format": "int32",
                    "description": "Absolute start position of this structure in the Srlg value"
                },
                "length": {
                    "type": "integer",
                    "format": "int32"
                },
                "displayFormat": {
                    "type": "string",
                    "description": "Suggests how the Structure value will be displayed to user",
                    "enum": [
                        "DECIMAL",
                        "BIT",
                        "ENUM",
                        "HEXADECIMAL"
                    ]
                },
                "isPoolIdentifier": {
                    "type": "boolean",
                    "description": "If it can be used as SRLGPool identifier or not",
                    "default": false
                }
            }
        },
        "SrlgPropagatableServiceConfigAttributes": {
            "type": "object",
            "properties": {
                "pruningConfig": {
                    "$ref": "#/definitions/SrlgPropagatableServicePruningConfig"
                },
                "serviceClass": {
                    "type": "string",
                    "enum": [
                        "IP",
                        "OTU",
                        "LAG"
                    ]
                },
                "serviceDescription": {
                    "type": "string"
                },
                "protectionSrlgInclusion": {
                    "type": "boolean",
                    "default": false
                },
                "isPropagatableTarget": {
                    "type": "boolean",
                    "default": false
                },
                "writeToNetwork": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "SrlgPropagatableServiceConfigAttributesRO": {
            "type": "object",
            "properties": {
                "serviceDescription": {
                    "type": "string",
                    "description": "Used for describing service class"
                },
                "serviceClass": {
                    "type": "string",
                    "description": "Define type of service class",
                    "enum": [
                        "IP",
                        "OTU",
                        "LAG"
                    ]
                },
                "protectionSrlgInclusion": {
                    "type": "boolean",
                    "description": "Used for inclusion for srlg of protection service class",
                    "default": false
                },
                "isPropagatableTarget": {
                    "type": "boolean",
                    "description": "Used to indicate propagatable target or not",
                    "default": false
                },
                "writeToNetwork": {
                    "type": "boolean",
                    "description": "Used to indicate write to network for service class",
                    "default": false
                },
                "pruningConfig": {
                    "$ref": "#/definitions/SrlgPropagatableServicePruningConfigRO"
                }
            }
        },
        "SrlgPropagatableServiceConfigDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "The unique identifier of the Srlg Propagation Configuration"
                },
                "type": {
                    "type": "string",
                    "description": "The Srlg Propagation Configuration Type",
                    "enum": [
                        "propagatableServiceConfiguration"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/SrlgPropagatableServiceConfigAttributesRO"
                }
            }
        },
        "SrlgPropagatableServiceConfiguration": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/SrlgPropagatableServiceConfigAttributes"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "SrlgPropagatableServicePruningConfig": {
            "type": "object",
            "properties": {
                "structuredMasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgPropagatableServiceStructuredMask"
                    }
                },
                "maxAllowedSrlgs": {
                    "type": "integer",
                    "format": "int32"
                },
                "opaqueMasks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "SrlgPropagatableServicePruningConfigRO": {
            "type": "object",
            "properties": {
                "maxAllowedSrlgs": {
                    "type": "integer",
                    "format": "int32"
                },
                "structuredMasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/SrlgPropagatableServicePruningStructuredMasksRO"
                    }
                },
                "opaqueMasks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "SrlgPropagatableServicePruningStructuredMasksRO": {
            "type": "object",
            "properties": {
                "priority": {
                    "type": "integer",
                    "format": "int32"
                },
                "fieldMasks": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/NameValueStringPairRO"
                    }
                }
            }
        },
        "SrlgPropagatableServiceStructuredMask": {
            "type": "object",
            "properties": {
                "fieldMasks": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    }
                },
                "priority": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "SrlgStructuredValueRO": {
            "type": "object"
        },
        "SrlgValuesRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/DataRO"
                }
            }
        },
        "StructuredValueRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                }
            }
        },
        "TransformedSrlgDataAttributesRO": {
            "type": "object",
            "properties": {
                "srlgStructuredValue": {
                    "description": "SRLG Structured value comprises of riskType, region, riskValue",
                    "$ref": "#/definitions/StructuredValueRO"
                },
                "srlgValue": {
                    "type": "string",
                    "description": "Opaque value of srlg"
                }
            }
        },
        "TransformedSrlgDataRO": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Id of the SRLG"
                },
                "type": {
                    "type": "string",
                    "description": "Type of data i.e. srlg",
                    "enum": [
                        "srlg"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/TransformedSrlgDataAttributesRO"
                }
            }
        },
        "TransformedSrlgValuesRO": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TransformedSrlgDataRO"
                    }
                }
            }
        },
        "ExternalSRLGDataAttributesRO": {
            "type": "object",
            "properties": {
                "poolIdentifier": {
                    "type": "string",
                    "description": "Describes the pool identifier using srlg type, risk type and subnetwork"
                },
                "srlg": {
                    "type": "string",
                    "description": "Value of the srlg"
                },
                "srlgStructured": {
                    "description": "Defines the structured values of External SRLG",
                    "$ref": "#/definitions/SrlgStructuredRO"
                }
            }
        },
        "ExternalSRLGDataRO": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Type string",
                    "enum": [
                        "externalSRLGs"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/ExternalSRLGDataAttributesRO"
                }
            }
        },
        "ExternalSRLGRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ExternalSRLGDataRO"
                }
            }
        },
        "SRLGPoolOperationDataAttributesRO": {
            "type": "object",
            "properties": {
                "srlg": {
                    "type": "string",
                    "description": "Srlg Value"
                },
                "srlgStructured": {
                    "description": "SRLG values in structured format",
                    "$ref": "#/definitions/SrlgStructuredRO_"
                }
            }
        },
        "SRLGPoolOperationRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/DataRO"
                }
            }
        },
        "SrlgStructuredRO": {
            "type": "object"
        },
        "SrlgStructuredRO_": {
            "type": "object"
        },
        "scanNow": {
            "type": "object",
            "description": "Parameters for initiating scan.",
            "properties": {
                "facilityAid": {
                    "type": "string",
                    "description": "Facility AID of the repeater system on which scan need to be initiated."
                },
                "label": {
                    "type": "string",
                    "description": "scan label."
                }
            }
        },
        "scheduleScan": {
            "type": "object",
            "description": "Schedule Scan parameteres",
            "properties": {
                "repeaterAID": {
                    "type": "string",
                    "default": "OTM2-0-0"
                },
                "attributes": {
                    "properties": {
                        "scheduleName": {
                            "type": "string",
                            "default": "Schedule-1"
                        },
                        "scheduleDetails": {
                            "properties": {
                                "scheduleTime": {
                                    "type": "string",
                                    "default": "2030-09-30T06:46:43+05:30"
                                },
                                "scheduleFrequency": {
                                    "type": "string",
                                    "default": "ONCE"
                                },
                                "dayofMonth": {
                                    "type": "string",
                                    "default": "20"
                                },
                                "scheduleWeeklyDays": {
                                    "properties": {
                                        "mon": {
                                            "type": "string",
                                            "default": "OFF"
                                        },
                                        "tue": {
                                            "type": "string",
                                            "default": "OFF"
                                        },
                                        "wed": {
                                            "type": "string",
                                            "default": "OFF"
                                        },
                                        "thu": {
                                            "type": "string",
                                            "default": "OFF"
                                        },
                                        "fri": {
                                            "type": "string",
                                            "default": "OFF"
                                        },
                                        "sat": {
                                            "type": "string",
                                            "default": "OFF"
                                        },
                                        "sun": {
                                            "type": "string",
                                            "default": "OFF"
                                        }
                                    }
                                }
                            }
                        },
                        "neDetails": {
                            "properties": {
                                "neType": {
                                    "type": "string",
                                    "default": "6500"
                                },
                                "neName": {
                                    "type": "string",
                                    "default": "TID-1"
                                },
                                "ncId": {
                                    "type": "string",
                                    "default": "3983102e-9d66-3820-xxx-9b7a042c6539"
                                }
                            }
                        }
                    }
                }
            }
        },
        "configLoss": {
            "type": "object",
            "description": "Config loss parameters for specified repeater system.",
            "properties": {
                "ncId": {
                    "type": "string",
                    "description": "ncId of the network element.."
                },
                "facilityAid": {
                    "type": "string",
                    "description": "Facility "
                },
                "txLoss": {
                    "type": "string",
                    "description": "Tx loss in db"
                },
                "rxLoss": {
                    "type": "string",
                    "description": "Rx loss in db"
                }
            }
        },
        "scanThreshold": {
            "type": "object",
            "description": "Set baseline parameteres",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "attributes": {
                                "properties": {
                                    "baselineDetails": {
                                        "properties": {}
                                    },
                                    "neDetails": {
                                        "properties": {
                                            "facilityAid": {
                                                "type": "string"
                                            },
                                            "scanId": {
                                                "type": "string"
                                            },
                                            "rptrSysFamily": {
                                                "type": "string"
                                            },
                                            "ncId": {
                                                "type": "string"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "ids": {
            "description": "Scan Ids of the scans to be deleted/exported",
            "type": "object",
            "properties": {
                "ids": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "deleteDescriptorFile": {
            "description": "Repeater, Slte, Cable descriptor files to be deleted",
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "attributes": {
                            "properties": {
                                "cable_attributes": {
                                    "type": "object",
                                    "properties": {
                                        "cable_system_name": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "repeater_attributes": {
                                    "type": "object",
                                    "properties": {
                                        "cable_system_name": {
                                            "type": "string"
                                        },
                                        "file_name": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "slte_attributes": {
                                    "type": "object",
                                    "properties": {
                                        "cable_system_name": {
                                            "type": "string"
                                        },
                                        "customer_name": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "commitCableSystem": {
            "description": "Add to inventory /Remove from inventory cable system configuration",
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "properties": {
                                "operation_type": {
                                    "type": "string"
                                },
                                "slte_attributes": {
                                    "type": "object",
                                    "properties": {
                                        "cable_system_name": {
                                            "type": "string"
                                        },
                                        "customer_name": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "spectrumSharingDetails": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "attributes": {
                            "type": "object",
                            "properties": {
                                "sstId": {
                                    "type": "string",
                                    "default": "9014e61f-92c2-335a-8591-68aa61f2f9c5_OTS-1-1"
                                },
                                "customerPorts": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "customerPort": {
                                                "type": "string",
                                                "default": "C1"
                                            },
                                            "customerName": {
                                                "type": "string",
                                                "default": "AngolaCables"
                                            },
                                            "limAid": {
                                                "type": "string",
                                                "default": "LIM-1-5"
                                            },
                                            "adjacencyPackage": {
                                                "type": "object",
                                                "properties": {
                                                    "smdToLim": {
                                                        "type": "object",
                                                        "properties": {
                                                            "SMD": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "shelf": {
                                                                        "type": "string",
                                                                        "default": "1"
                                                                    },
                                                                    "slot": {
                                                                        "type": "string",
                                                                        "default": "2"
                                                                    }
                                                                }
                                                            },
                                                            "LIM": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "shelf": {
                                                                        "type": "string",
                                                                        "default": "1"
                                                                    },
                                                                    "slot": {
                                                                        "type": "string",
                                                                        "default": "5"
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "smdToWss": {
                                    "type": "object",
                                    "properties": {
                                        "SMD": {
                                            "type": "object",
                                            "properties": {
                                                "shelf": {
                                                    "type": "string",
                                                    "default": "1"
                                                },
                                                "slot": {
                                                    "type": "string",
                                                    "default": "2"
                                                },
                                                "port": {
                                                    "type": "string",
                                                    "default": "10"
                                                }
                                            }
                                        },
                                        "WSSOPM": {
                                            "type": "object",
                                            "properties": {
                                                "shelf": {
                                                    "type": "string",
                                                    "default": "1"
                                                },
                                                "slot": {
                                                    "type": "string",
                                                    "default": "10"
                                                },
                                                "port": {
                                                    "type": "string",
                                                    "default": "3"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "provisionSpectrum": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "ncId": {
                            "type": "string",
                            "default": "dbc7eae5-f75e-36f3-9607-a6cb905feadc"
                        },
                        "minFrequency": {
                            "type": "string",
                            "default": "196.037500"
                        },
                        "maxFrequency": {
                            "type": "string",
                            "default": "196.075000"
                        },
                        "channelWidth": {
                            "type": "string",
                            "default": "37.50"
                        },
                        "centerFrequency": {
                            "type": "string",
                            "default": "196.056250"
                        },
                        "SMD": {
                            "type": "object",
                            "properties": {
                                "shelf": {
                                    "type": "string",
                                    "default": "1"
                                },
                                "slot": {
                                    "type": "string",
                                    "default": "2"
                                },
                                "rxChcIndex": {
                                    "type": "string",
                                    "default": "7"
                                },
                                "txChcIndex": {
                                    "type": "string",
                                    "default": "6"
                                },
                                "switchSelector": {
                                    "type": "string",
                                    "default": "16"
                                }
                            }
                        },
                        "WSSOPM": {
                            "type": "object",
                            "properties": {
                                "shelf": {
                                    "type": "string",
                                    "default": "1"
                                },
                                "slot": {
                                    "type": "string",
                                    "default": "10"
                                },
                                "chcIndex": {
                                    "type": "string",
                                    "default": "12"
                                },
                                "switchSelector": {
                                    "type": "string",
                                    "default": "3"
                                }
                            }
                        }
                    }
                }
            }
        },
        "removeSpectrum": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "ncId": {
                            "type": "string",
                            "default": "dbc7eae5-f75e-36f3-9607-a6cb905feadc"
                        },
                        "SMD": {
                            "type": "object",
                            "properties": {
                                "chcAid": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "CHC-1-2-9-1"
                                    }
                                }
                            }
                        },
                        "WSSOPM": {
                            "type": "object",
                            "properties": {
                                "chcAid": {
                                    "type": "array",
                                    "items": {
                                        "type": "string",
                                        "default": "CHC-1-10-22-1"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "facilityRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "ncId": {
                            "type": "string",
                            "default": "dbc7eae5-f75e-36f3-9607-a6cb905feadc"
                        },
                        "shelf": {
                            "type": "string",
                            "default": "1"
                        },
                        "slot": {
                            "type": "string",
                            "default": "2"
                        },
                        "chcAid": {
                            "type": "array",
                            "items": {
                                "type": "string",
                                "default": "CHC-1-2-9-1"
                            }
                        }
                    }
                }
            }
        },
        "updateSwsel": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "ncId": {
                            "type": "string",
                            "default": "dbc7eae5-f75e-36f3-9607-a6cb905feadc"
                        },
                        "chcAid": {
                            "type": "string",
                            "default": "CHC-1-10-22-1"
                        },
                        "switchSelector": {
                            "type": "string",
                            "default": "5"
                        }
                    }
                }
            }
        },
        "Attributes_": {
            "type": "object"
        },
        "BasePmReading": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "parameter": {
                    "type": "string"
                },
                "parameterNative": {
                    "type": "string"
                },
                "location": {
                    "type": "string"
                },
                "locationNative": {
                    "type": "string"
                },
                "direction": {
                    "type": "string"
                },
                "directionNative": {
                    "type": "string"
                },
                "binType": {
                    "type": "string"
                },
                "threshold": {
                    "type": "string"
                },
                "display": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PmValue"
                    }
                }
            }
        },
        "BerComplexData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "BER_COMPLEX"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/BerComplexDataAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/BerComplexDataRelationships"
                },
                "diagResults": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "BerComplexDataAttributes": {
            "type": "object",
            "properties": {
                "timeStamp": {
                    "type": "string"
                },
                "pmType": {
                    "type": "string",
                    "enum": [
                        "CHANNEL_POWER",
                        "TOTAL_POWER",
                        "OSC_POWER",
                        "PREFEC_BER",
                        "SPECTRUM",
                        "OPER_MEASMNT"
                    ]
                },
                "otsiBerDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BerData"
                    }
                },
                "diagResults": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "BerComplexDataRelationships": {
            "type": "object",
            "properties": {
                "fres": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "BerComplexResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/BerComplexData"
                }
            }
        },
        "BerData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "PM_DIAGNOSTICS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/BerDataAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/PmDataRelationships"
                }
            }
        },
        "BerDataAttributes": {
            "type": "object",
            "properties": {
                "pmTpes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PmTpe"
                    }
                },
                "diagResults": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "BmTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "benchmark"
                    ]
                },
                "generatorId": {
                    "type": "string"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "freId": {
                    "type": "string"
                },
                "userAnnotation": {
                    "type": "string"
                }
            }
        },
        "BmTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/BmTestData"
                }
            }
        },
        "CfmTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "linktrace",
                        "loopback"
                    ]
                },
                "localTpeId": {
                    "type": "string"
                },
                "remotePoint": {
                    "$ref": "#/definitions/RemotePoint"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "freId": {
                    "type": "string"
                },
                "userAnnotation": {
                    "type": "string"
                }
            }
        },
        "CfmTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/CfmTestData"
                }
            }
        },
        "CtpPtpRelationships": {
            "type": "object",
            "properties": {
                "measurementpointTpes": {
                    "$ref": "#/definitions/OneToOneRelationship"
                }
            }
        },
        "FiberLossAttrs": {
            "type": "object",
            "properties": {
                "fiberLoss": {
                    "type": "object"
                }
            }
        },
        "FiberLossData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "fiberLossData"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/FiberLossAttrs"
                },
                "relationships": {
                    "$ref": "#/definitions/FiberLossRelationships"
                }
            }
        },
        "FiberLossRelationships": {
            "type": "object",
            "properties": {
                "fre": {
                    "$ref": "#/definitions/OneToOneRelationship"
                }
            }
        },
        "FiberLossResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/FiberLossResults"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/FiberLossData"
                    }
                }
            }
        },
        "FiberLossResults": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "measuredFiberLossResults"
                    ]
                },
                "relationships": {
                    "$ref": "#/definitions/FiberLossResultsRelationships"
                }
            }
        },
        "FiberLossResultsRelationships": {
            "type": "object",
            "properties": {
                "fiberLossData": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "ItsAttributes": {
            "type": "object",
            "properties": {
                "tpeId": {
                    "type": "string"
                },
                "cardType": {
                    "type": "string"
                },
                "itsMode": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "layer": {
                    "type": "string"
                },
                "layerRateQualifier": {
                    "type": "string"
                },
                "nodeName": {
                    "type": "string"
                },
                "nativeName": {
                    "type": "string"
                },
                "resourceType": {
                    "type": "string"
                },
                "testDescriptionData": {
                    "$ref": "#/definitions/ItsDescriptionRAData"
                },
                "testConfigData": {
                    "$ref": "#/definitions/ItsTestConfigData"
                }
            }
        },
        "ItsAttributesDetail": {
            "type": "object",
            "properties": {
                "configResults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AdditionalAttributes"
                    }
                },
                "configStatus": {
                    "type": "string"
                }
            }
        },
        "ItsDescriptionRAData": {
            "type": "object",
            "properties": {
                "berThreshold": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "monaBerThreshold": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "monbBerThreshold": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "monaPattern": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "monbPattern": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "genaPattern": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "genbPattern": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "genaErrorType": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "genbErrorType": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ItsInjectErrorData": {
            "type": "object",
            "properties": {
                "tpeId": {
                    "type": "string"
                },
                "testId": {
                    "type": "string"
                },
                "errorType": {
                    "type": "string",
                    "enum": [
                        "Bit_Error",
                        "LF",
                        "RF"
                    ]
                },
                "errorOperation": {
                    "type": "string",
                    "enum": [
                        "start",
                        "stop"
                    ]
                },
                "errorPoint": {
                    "type": "string",
                    "enum": [
                        "GENA",
                        "GENB"
                    ]
                },
                "errorRate": {
                    "type": "string",
                    "enum": [
                        "single",
                        "continuous"
                    ]
                }
            }
        },
        "ItsInjectErrorRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ItsInjectErrorData"
                }
            }
        },
        "ItsOperationData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "raceTrack",
                        "testSet",
                        "networkMode"
                    ]
                },
                "localTpeData": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "remoteTpeData": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "ItsOperationRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ItsOperationData"
                }
            }
        },
        "ItsTestConfigData": {
            "type": "object",
            "properties": {
                "mode": {
                    "type": "string"
                },
                "adminState": {
                    "type": "string"
                },
                "loopback": {
                    "type": "string"
                },
                "duration": {
                    "type": "string"
                },
                "berThreshold": {
                    "type": "string"
                },
                "monaBerThreshold": {
                    "type": "string"
                },
                "monbBerThreshold": {
                    "type": "string"
                },
                "monaPattern": {
                    "type": "string"
                },
                "monbPattern": {
                    "type": "string"
                },
                "genaPattern": {
                    "type": "string"
                },
                "genbPattern": {
                    "type": "string"
                },
                "operation": {
                    "type": "string"
                },
                "testStartTime": {
                    "type": "string"
                },
                "genaErrorType": {
                    "type": "string"
                },
                "genbErrorType": {
                    "type": "string"
                },
                "genaErrorRate": {
                    "type": "string"
                },
                "genbErrorRate": {
                    "type": "string"
                },
                "genaErrorState": {
                    "type": "string"
                },
                "genbErrorState": {
                    "type": "string"
                }
            }
        },
        "ItsTestDescriptionData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ItsAttributesDetail"
                },
                "relationships": {
                    "$ref": "#/definitions/ItsTestRelationships"
                }
            }
        },
        "ItsTestDescriptions": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/ItsAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/Relationships"
                }
            }
        },
        "ItsTestRelationships": {
            "type": "object",
            "properties": {
                "itsTestDetails": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "ItsTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ItsTestDescriptionData"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ItsTestDescriptions"
                    }
                }
            }
        },
        "LbTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "loopback",
                        "clientPortLoopback"
                    ]
                },
                "localTpeId": {
                    "type": "string"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "userAnnotation": {
                    "type": "string"
                }
            }
        },
        "LbTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/LbTestData"
                }
            }
        },
        "LdpTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "ping"
                    ]
                },
                "localTpeId": {
                    "type": "string"
                },
                "remotePoint": {
                    "$ref": "#/definitions/RemotePoint"
                },
                "freId": {
                    "type": "string"
                },
                "isis-dest": {
                    "type": "string"
                },
                "ncId": {
                    "type": "string"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "userAnnotation": {
                    "type": "string"
                }
            }
        },
        "LdpTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/LdpTestData"
                }
            }
        },
        "LspTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/MplsTestData"
                }
            }
        },
        "MplsTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "ping",
                        "traceroute"
                    ]
                },
                "localTpeId": {
                    "type": "string"
                },
                "remotePoint": {
                    "$ref": "#/definitions/RemotePoint"
                },
                "freId": {
                    "type": "string"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "userAnnotation": {
                    "type": "string"
                }
            }
        },
        "OneToManyRelationship": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/RelationshipData"
                    }
                }
            }
        },
        "OneToOneRelationship": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/RelationshipData"
                }
            }
        },
        "OperMeasData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "OPER_MEASUREMENTS",
                        "POWER_PMS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/OperMeasDataAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/OperMeasDataRelationships"
                }
            }
        },
        "OperMeasDataAttributes": {
            "type": "object",
            "properties": {
                "timeStamp": {
                    "type": "string"
                },
                "pmType": {
                    "type": "string",
                    "enum": [
                        "CHANNEL_POWER",
                        "TOTAL_POWER",
                        "OSC_POWER",
                        "PREFEC_BER",
                        "SPECTRUM",
                        "OPER_MEASMNT"
                    ]
                },
                "granularity": {
                    "type": "string"
                },
                "pmFacilities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PmFacility"
                    }
                }
            }
        },
        "OperMeasDataRelationships": {
            "type": "object",
            "properties": {
                "fres": {
                    "$ref": "#/definitions/OneToManyRelationship"
                },
                "networkConstructs": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "OperMeasFacContext": {
            "type": "object",
            "properties": {
                "ncName": {
                    "type": "string"
                },
                "reportingFacility": {
                    "type": "string"
                },
                "granularity": {
                    "type": "string",
                    "enum": [
                        "bin_24_hour",
                        "bin_15_minute"
                    ]
                },
                "parameterNatives": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "range": {
                    "$ref": "#/definitions/TimeRange"
                },
                "synchronous": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "OperMeasFacRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/OperMeasFacContext"
                }
            }
        },
        "OperMeasLatencyRequest": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string"
                },
                "synchronous": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "OperMeasRO": {
            "type": "object",
            "properties": {
                "meta": {
                    "$ref": "#/definitions/MetaData"
                },
                "data": {
                    "$ref": "#/definitions/OperMeasData"
                }
            }
        },
        "OperMeasRouteContext": {
            "type": "object",
            "properties": {
                "freIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "granularity": {
                    "type": "string",
                    "enum": [
                        "untimed",
                        "bin_24_hour",
                        "bin_15_minute"
                    ]
                },
                "synchronous": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "OperMeasRouteRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/OperMeasRouteContext"
                }
            }
        },
        "OperStatusData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "OPERATIONAL_STATUS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/Attributes"
                },
                "relationships": {
                    "$ref": "#/definitions/Relationships"
                }
            }
        },
        "OperStatusResultsRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/OperStatusData"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "OpticalPowerContext": {
            "type": "object",
            "properties": {
                "freIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "pmType": {
                    "type": "string",
                    "enum": [
                        "CHANNEL_POWER",
                        "TOTAL_POWER",
                        "OSC_POWER",
                        "PREFEC_BER",
                        "SPECTRUM",
                        "OPER_MEASMNT"
                    ]
                },
                "synchronous": {
                    "type": "boolean",
                    "default": false
                },
                "pollInterval": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "OpticalPowerRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/OpticalPowerContext"
                }
            }
        },
        "PmData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "PM_DIAGNOSTICS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/PmDataAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/PmDataRelationships"
                }
            }
        },
        "PmDataAttributes": {
            "type": "object",
            "properties": {
                "timeStamp": {
                    "type": "string"
                },
                "pmType": {
                    "type": "string",
                    "enum": [
                        "CHANNEL_POWER",
                        "TOTAL_POWER",
                        "OSC_POWER",
                        "PREFEC_BER",
                        "SPECTRUM",
                        "OPER_MEASMNT"
                    ]
                },
                "pmTpes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PmTpe"
                    }
                },
                "diagResults": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "PmDataRelationships": {
            "type": "object",
            "properties": {
                "fres": {
                    "$ref": "#/definitions/OneToManyRelationship"
                },
                "tpes": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "PmDiagResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/PmData"
                }
            }
        },
        "PmFacility": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "resourceId": {
                    "type": "string"
                },
                "linkEdgeTpeId": {
                    "type": "string"
                },
                "resourceDir": {
                    "type": "string"
                },
                "ncName": {
                    "type": "string"
                },
                "ncSubnet": {
                    "type": "string"
                },
                "reportingFacility": {
                    "type": "string"
                },
                "facilityType": {
                    "type": "string"
                },
                "cardType": {
                    "type": "string"
                },
                "startTime": {
                    "type": "string"
                },
                "pmReadings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/BasePmReading"
                    }
                },
                "relationships": {
                    "$ref": "#/definitions/PmFacilityRelationships"
                }
            }
        },
        "PmFacilityRelationships": {
            "type": "object",
            "properties": {
                "ncIds": {
                    "$ref": "#/definitions/OneToOneRelationship"
                },
                "measurementPointTpes": {
                    "$ref": "#/definitions/OneToOneRelationship"
                }
            }
        },
        "PmReading": {
            "type": "object",
            "properties": {
                "reportingFacility": {
                    "type": "string"
                },
                "facilityType": {
                    "type": "string"
                },
                "frequency": {
                    "type": "string"
                },
                "binType": {
                    "type": "string"
                },
                "parameter": {
                    "type": "string"
                },
                "parameterNative": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                },
                "startTime": {
                    "type": "string"
                },
                "threshold": {
                    "type": "string"
                },
                "binState": {
                    "type": "string"
                },
                "alert": {
                    "type": "string"
                }
            }
        },
        "PmResetContext": {
            "type": "object",
            "properties": {
                "freIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "granularity": {
                    "type": "string",
                    "enum": [
                        "UNTIMED",
                        "BASELINE"
                    ]
                }
            }
        },
        "PmResetData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "attributes": {
                    "$ref": "#/definitions/PmResetDataAttributes"
                },
                "relationships": {
                    "$ref": "#/definitions/OperMeasDataRelationships"
                }
            }
        },
        "PmResetDataAttributes": {
            "type": "object",
            "properties": {
                "resetTime": {
                    "type": "string"
                },
                "granularity": {
                    "type": "string"
                },
                "resetSummary": {
                    "$ref": "#/definitions/PmResetSummary"
                },
                "pmFacilities": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PmResetFacResult"
                    }
                }
            }
        },
        "PmResetFacResult": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string"
                },
                "ncName": {
                    "type": "string"
                },
                "aid": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "errors": {
                    "type": "string"
                }
            }
        },
        "PmResetRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/PmResetData"
                }
            }
        },
        "PmResetRequest": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/PmResetContext"
                }
            }
        },
        "PmResetSummary": {
            "type": "object",
            "properties": {
                "status": {
                    "type": "string"
                },
                "error": {
                    "type": "string"
                }
            }
        },
        "PmTpe": {
            "type": "object",
            "properties": {
                "tpeId": {
                    "type": "string"
                },
                "portDir": {
                    "type": "string",
                    "enum": [
                        "IN",
                        "OUT"
                    ]
                },
                "isReporting": {
                    "type": "boolean",
                    "default": false
                },
                "ncName": {
                    "type": "string"
                },
                "reportingFacility": {
                    "type": "string"
                },
                "pmReadings": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PmReading"
                    }
                },
                "relationships": {
                    "$ref": "#/definitions/CtpPtpRelationships"
                }
            }
        },
        "PmValue": {
            "type": "object",
            "properties": {
                "startTime": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                },
                "frequency": {
                    "type": "string"
                },
                "binState": {
                    "type": "string"
                },
                "alert": {
                    "type": "string"
                }
            }
        },
        "PowerSnapshotRequestData": {
            "type": "object",
            "properties": {
                "resourceId": {
                    "type": "string"
                },
                "synchronous": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "PowerSnapshotRequestRO": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/PowerSnapshotRequestData"
                }
            }
        },
        "PropRequestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/PropertyRequestData"
                }
            }
        },
        "PropResponseRo": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/PropertyData"
                    }
                }
            }
        },
        "PropertyData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "PROPERTY_DATA",
                        "DELETED_PROP_DATA"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/Attributes"
                }
            }
        },
        "PropertyRequestData": {
            "type": "object",
            "properties": {
                "attributes": {
                    "$ref": "#/definitions/Attributes"
                }
            }
        },
        "PwTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/MplsTestData"
                }
            }
        },
        "ReflectorOperationData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "create",
                        "delete"
                    ]
                },
                "reflectorId": {
                    "type": "string"
                },
                "reflectorParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "ReflectorOperationRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/ReflectorOperationData"
                }
            }
        },
        "RelationshipData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "RelationshipMetaData": {
            "type": "object",
            "properties": {
                "partiallyPopulated": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "RemotePoint": {
            "type": "object",
            "properties": {
                "idType": {
                    "type": "string",
                    "enum": [
                        "macAddress",
                        "ipAddress",
                        "tpes",
                        "mepId"
                    ]
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "SpectralAllocRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SpectralData"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "SpectralData": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "spectralData"
                    ]
                },
                "relationships": {
                    "$ref": "#/definitions/SpectralDataRelationships"
                }
            }
        },
        "SpectralDataRelationships": {
            "type": "object",
            "properties": {
                "spectralRoadmlines": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "SpectralResponse": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SpectralResults"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "type": "object"
                    }
                }
            }
        },
        "SpectralResults": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "spectralResults"
                    ]
                },
                "relationships": {
                    "$ref": "#/definitions/Relationships"
                }
            }
        },
        "SrPolicyTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "ping"
                    ]
                },
                "policyName": {
                    "type": "string"
                },
                "freId": {
                    "type": "string"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "userAnnotation": {
                    "type": "string"
                },
                "destEndPoint": {
                    "type": "string"
                }
            }
        },
        "SrPolicyTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SrPolicyTestData"
                }
            }
        },
        "SrTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "ping"
                    ]
                },
                "localTpeId": {
                    "type": "string"
                },
                "remotePoint": {
                    "$ref": "#/definitions/RemotePoint"
                },
                "freId": {
                    "type": "string"
                },
                "isis-dest": {
                    "type": "string"
                },
                "ncId": {
                    "type": "string"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "userAnnotation": {
                    "type": "string"
                }
            }
        },
        "SrTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/SrTestData"
                }
            }
        },
        "TdmLbTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "tdmLoopback"
                    ]
                },
                "localTpeId": {
                    "type": "string"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "freId": {
                    "type": "string"
                },
                "userAnnotation": {
                    "type": "string"
                }
            }
        },
        "TdmLbTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/TdmLbTestData"
                }
            }
        },
        "TestCapRelationships": {
            "type": "object",
            "properties": {
                "testDescriptions": {
                    "$ref": "#/definitions/OneToManyRelationship"
                },
                "fres": {
                    "$ref": "#/definitions/OneToOneRelationship"
                }
            }
        },
        "TestCapabilities": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "TEST_CAPABILITIES"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/Attributes"
                },
                "relationships": {
                    "$ref": "#/definitions/TestCapRelationships"
                }
            }
        },
        "TestCapabilitiesRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/TestCapabilities"
                },
                "included": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TestDescriptions"
                    }
                }
            }
        },
        "TestDesRelationships": {
            "type": "object",
            "properties": {
                "tpes": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "TestDescriptions": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "TEST_DESCRIPTIONS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/Attributes_"
                },
                "relationships": {
                    "$ref": "#/definitions/TestDesRelationships"
                }
            }
        },
        "TestListRo": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TestResults"
                    }
                }
            }
        },
        "TestRelationships": {
            "type": "object",
            "properties": {
                "tpes": {
                    "$ref": "#/definitions/OneToManyRelationship"
                },
                "networkConstructs": {
                    "$ref": "#/definitions/OneToManyRelationship"
                }
            }
        },
        "TestResults": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "TEST_RESULTS"
                    ]
                },
                "attributes": {
                    "$ref": "#/definitions/TestResultsAttrs"
                },
                "relationships": {
                    "$ref": "#/definitions/TestRelationships"
                }
            }
        },
        "TestResultsAttrs": {
            "type": "object",
            "properties": {
                "testResults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/AdditionalAttributes"
                    }
                },
                "testType": {
                    "type": "string",
                    "enum": [
                        "BENCHMARK",
                        "CFM_LINKTRACE",
                        "CFM_LOOPBACK",
                        "LOOPBACK",
                        "LSP_PING",
                        "LSP_TRACEROUTE",
                        "PW_PING",
                        "PW_TRACEROUTE",
                        "TDM_LOOPBACK",
                        "RACE_TRACK",
                        "TEST_SET",
                        "NETWORK_MODE",
                        "VRF_PING",
                        "SR_TUNNEL_PING",
                        "SR_OPERATIONS",
                        "LDP_PING",
                        "LDP_OPERATIONS",
                        "SR_POLICY_PING",
                        "SR_POLICY_OPERATIONS",
                        "CLIENT_PORT_LOOPBACK"
                    ]
                },
                "testStatus": {
                    "type": "string",
                    "enum": [
                        "CANCELLED",
                        "CANCELLING",
                        "COMPLETED",
                        "COMPLETING",
                        "FAILED",
                        "IN_PROGRESS",
                        "PENDING",
                        "STARTED",
                        "CANCELED",
                        "CANCELING"
                    ]
                },
                "localTpeId": {
                    "type": "string"
                },
                "remotePoints": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "localNcId": {
                    "type": "string"
                },
                "remoteNcs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "startTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "lastUpdateTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                }
            }
        },
        "TestResultsRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/TestResults"
                }
            }
        },
        "TimeRange": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "relative",
                        "absolute"
                    ]
                },
                "unit": {
                    "type": "string",
                    "enum": [
                        "days",
                        "minutes",
                        "months",
                        "weeks"
                    ]
                },
                "value": {
                    "type": "string"
                },
                "startTime": {
                    "type": "string"
                },
                "endTime": {
                    "type": "string"
                }
            }
        },
        "VrfTestData": {
            "type": "object",
            "properties": {
                "type": {
                    "type": "string",
                    "enum": [
                        "ping"
                    ]
                },
                "ipPrefix": {
                    "type": "string"
                },
                "freId": {
                    "type": "string"
                },
                "vrfId": {
                    "type": "string"
                },
                "remotePoint": {
                    "$ref": "#/definitions/RemotePoint"
                },
                "testParameters": {
                    "$ref": "#/definitions/AdditionalAttributes"
                },
                "userAnnotation": {
                    "type": "string"
                }
            }
        },
        "VrfTestRo": {
            "type": "object",
            "properties": {
                "data": {
                    "$ref": "#/definitions/VrfTestData"
                }
            }
        },
        "PostTopics": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Topic"
                    }
                }
            },
            "example": {
                "data": [
                    {
                        "id": "bp.nsi.v2_0.changes.nc",
                        "type": "topic",
                        "attributes": {
                            "replicationFactor": 3,
                            "partitions": 12,
                            "config": {
                                "retention.bytes": 2560000,
                                "retention.ms": 604800000
                            },
                            "meta": {
                                "replicationType": "Simple"
                            }
                        }
                    }
                ]
            }
        },
        "PutTopic": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/Topic"
                }
            },
            "example": {
                "data": {
                    "id": "bp.nsi.v2_0.changes.nc",
                    "type": "topic",
                    "attributes": {
                        "replicationFactor": 3,
                        "partitions": 12,
                        "config": {
                            "retention.bytes": 2560000,
                            "retention.ms": 604800000
                        },
                        "meta": {
                            "replicationType": "Simple"
                        }
                    }
                }
            }
        },
        "GetTopic": {
            "type": "object",
            "required": [
                "data"
            ],
            "properties": {
                "data": {
                    "$ref": "#/definitions/Topic"
                }
            },
            "example": {
                "data": {
                    "id": "bp.nsi.v2_0.changes.nc",
                    "type": "topic",
                    "attributes": {
                        "replicationFactor": 3,
                        "partitions": 12,
                        "config": {
                            "retention.bytes": 2560000,
                            "retention.ms": 604800000
                        },
                        "meta": {
                            "replicationType": "Simple"
                        }
                    }
                }
            }
        },
        "Topic": {
            "description": "A Topic has a name (id), is of type Topic and has attributes reflecting its configuration",
            "type": "object",
            "required": [
                "id",
                "type",
                "attributes"
            ],
            "properties": {
                "id": {
                    "description": "The topic name",
                    "type": "string"
                },
                "type": {
                    "type": "string",
                    "enum": [
                        "topic"
                    ]
                },
                "attributes": {
                    "type": "object",
                    "required": [
                        "replicationFactor",
                        "partitions",
                        "config",
                        "meta"
                    ],
                    "properties": {
                        "replicationFactor": {
                            "description": "Replication factor",
                            "type": "integer",
                            "format": "int32"
                        },
                        "partitions": {
                            "description": "The number of partitions for the topic",
                            "type": "integer",
                            "format": "int32"
                        },
                        "config": {
                            "description": "The configuration of the topic as outlined in Kafkas documentation",
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        },
                        "meta": {
                            "type": "object",
                            "additionalProperties": {
                                "type": "string"
                            }
                        },
                        "created": {
                            "type": "string"
                        },
                        "creator": {
                            "type": "string"
                        }
                    }
                }
            }
        },
        "ConsumerGroupState": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string",
                            "description": "topicName"
                        },
                        "type": {
                            "type": "string",
                            "enum": [
                                "consumerState"
                            ]
                        },
                        "attributes": {
                            "type": "object",
                            "properties": {
                                "topic": {
                                    "type": "string"
                                },
                                "consumerGroup": {
                                    "type": "string"
                                },
                                "consumers": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/ConsumerState"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "ConsumerState": {
            "type": "object",
            "properties": {
                "clientId": {
                    "type": "string"
                },
                "consumerId": {
                    "type": "string"
                },
                "partitions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/Partition"
                    }
                }
            }
        },
        "TopicState": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string",
                            "description": "topicName"
                        },
                        "type": {
                            "type": "string",
                            "enum": [
                                "topicState"
                            ]
                        },
                        "attributes": {
                            "type": "object",
                            "properties": {
                                "topic": {
                                    "type": "string"
                                },
                                "partitions": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/definitions/Partition"
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "ConsumerGroupProcessState": {
            "type": "object",
            "properties": {
                "data": {
                    "type": "object",
                    "properties": {
                        "id": {
                            "type": "string",
                            "description": "topicName"
                        },
                        "type": {
                            "type": "string",
                            "enum": [
                                "consumerProcessState"
                            ]
                        },
                        "attributes": {
                            "type": "object",
                            "properties": {
                                "topic": {
                                    "type": "string"
                                },
                                "consumerGroup": {
                                    "type": "string"
                                },
                                "processState": {
                                    "type": "object",
                                    "properties": {
                                        "totalLogSize": {
                                            "type": "integer",
                                            "format": "int64"
                                        },
                                        "totalCommittedSize": {
                                            "type": "integer",
                                            "format": "int64"
                                        },
                                        "logRate": {
                                            "type": "integer",
                                            "format": "int64"
                                        },
                                        "processRate": {
                                            "type": "integer",
                                            "format": "int64"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "Chronology": {
            "type": "object",
            "properties": {
                "calendarType": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "Duration": {
            "type": "object",
            "properties": {
                "seconds": {
                    "type": "integer",
                    "format": "int64"
                },
                "zero": {
                    "type": "boolean",
                    "default": false
                },
                "negative": {
                    "type": "boolean",
                    "default": false
                },
                "units": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/TemporalUnit"
                    }
                },
                "nano": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "Instant": {
            "type": "object",
            "properties": {
                "epochSecond": {
                    "type": "integer",
                    "format": "int64"
                },
                "nano": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "LocalTime": {
            "type": "object",
            "properties": {
                "hour": {
                    "type": "integer",
                    "format": "int32"
                },
                "minute": {
                    "type": "integer",
                    "format": "int32"
                },
                "second": {
                    "type": "integer",
                    "format": "int32"
                },
                "nano": {
                    "type": "integer",
                    "format": "int32"
                }
            }
        },
        "Progress": {
            "type": "object",
            "properties": {
                "currentStep": {
                    "type": "integer",
                    "format": "int32"
                },
                "totalSteps": {
                    "type": "integer",
                    "format": "int32"
                },
                "subStep": {
                    "$ref": "#/definitions/SubStep"
                }
            }
        },
        "SubStep": {
            "type": "object",
            "properties": {
                "currentSubStep": {
                    "type": "integer",
                    "format": "int32"
                },
                "totalSubSteps": {
                    "type": "integer",
                    "format": "int32"
                },
                "application": {
                    "type": "string"
                }
            }
        },
        "TemporalUnit": {
            "type": "object",
            "properties": {
                "duration": {
                    "$ref": "#/definitions/Duration"
                },
                "dateBased": {
                    "type": "boolean",
                    "default": false
                },
                "timeBased": {
                    "type": "boolean",
                    "default": false
                },
                "durationEstimated": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "UpgradeJob": {
            "type": "object",
            "properties": {
                "id": {
                    "type": "integer",
                    "format": "int64"
                },
                "states": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/UpgradeState"
                    }
                },
                "move": {
                    "type": "boolean",
                    "default": false
                },
                "includeShared": {
                    "type": "boolean",
                    "default": false
                },
                "startTime": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "UpgradeJobRO": {
            "type": "object",
            "properties": {
                "states": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/UpgradeStateRO"
                    }
                },
                "startTime": {
                    "type": "string"
                }
            },
            "description": "The information about an upgrade"
        },
        "UpgradeRequestRO": {
            "type": "object",
            "properties": {
                "upgradeList": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/UpgradeSolutionRO"
                    }
                },
                "move": {
                    "type": "boolean",
                    "default": false
                },
                "includeShared": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "UpgradeSolutionRO": {
            "type": "object",
            "properties": {
                "solutionName": {
                    "type": "string"
                },
                "previousVersion": {
                    "type": "string"
                },
                "newVersion": {
                    "type": "string"
                }
            }
        },
        "UpgradeState": {
            "type": "object",
            "properties": {
                "startTime": {
                    "$ref": "#/definitions/ZonedDateTime"
                },
                "stateId": {
                    "type": "integer",
                    "format": "int64"
                },
                "previousSolutionName": {
                    "type": "string"
                },
                "lastMessage": {
                    "type": "string"
                },
                "newSolutionName": {
                    "type": "string"
                },
                "currentProgress": {
                    "$ref": "#/definitions/Progress"
                },
                "previousSolutionSnapshots": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "state": {
                    "type": "string"
                }
            }
        },
        "UpgradeStateRO": {
            "type": "object",
            "properties": {
                "stateId": {
                    "type": "integer",
                    "format": "int64"
                },
                "previousSolutionName": {
                    "type": "string"
                },
                "newSolutionName": {
                    "type": "string"
                },
                "state": {
                    "type": "string"
                },
                "lastMessage": {
                    "type": "string"
                },
                "previousSolutionSnapshots": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "startTime": {
                    "$ref": "#/definitions/ZonedDateTime"
                },
                "progress": {
                    "readOnly": true,
                    "$ref": "#/definitions/Progress"
                }
            },
            "description": "The information about an upgrade state"
        },
        "ZoneId": {
            "type": "object",
            "properties": {
                "rules": {
                    "$ref": "#/definitions/ZoneRules"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "ZoneOffset": {
            "type": "object",
            "properties": {
                "totalSeconds": {
                    "type": "integer",
                    "format": "int32"
                },
                "rules": {
                    "$ref": "#/definitions/ZoneRules"
                },
                "id": {
                    "type": "string"
                }
            }
        },
        "ZoneOffsetTransition": {
            "type": "object",
            "properties": {
                "offsetBefore": {
                    "$ref": "#/definitions/ZoneOffset"
                },
                "offsetAfter": {
                    "$ref": "#/definitions/ZoneOffset"
                },
                "dateTimeBefore": {
                    "type": "string",
                    "format": "date-time"
                },
                "instant": {
                    "$ref": "#/definitions/Instant"
                },
                "duration": {
                    "$ref": "#/definitions/Duration"
                },
                "gap": {
                    "type": "boolean",
                    "default": false
                },
                "overlap": {
                    "type": "boolean",
                    "default": false
                },
                "dateTimeAfter": {
                    "type": "string",
                    "format": "date-time"
                }
            }
        },
        "ZoneOffsetTransitionRule": {
            "type": "object",
            "properties": {
                "month": {
                    "type": "string",
                    "enum": [
                        "JANUARY",
                        "FEBRUARY",
                        "MARCH",
                        "APRIL",
                        "MAY",
                        "JUNE",
                        "JULY",
                        "AUGUST",
                        "SEPTEMBER",
                        "OCTOBER",
                        "NOVEMBER",
                        "DECEMBER"
                    ]
                },
                "timeDefinition": {
                    "type": "string",
                    "enum": [
                        "UTC",
                        "WALL",
                        "STANDARD"
                    ]
                },
                "standardOffset": {
                    "$ref": "#/definitions/ZoneOffset"
                },
                "offsetBefore": {
                    "$ref": "#/definitions/ZoneOffset"
                },
                "offsetAfter": {
                    "$ref": "#/definitions/ZoneOffset"
                },
                "dayOfWeek": {
                    "type": "string",
                    "enum": [
                        "MONDAY",
                        "TUESDAY",
                        "WEDNESDAY",
                        "THURSDAY",
                        "FRIDAY",
                        "SATURDAY",
                        "SUNDAY"
                    ]
                },
                "dayOfMonthIndicator": {
                    "type": "integer",
                    "format": "int32"
                },
                "localTime": {
                    "$ref": "#/definitions/LocalTime"
                },
                "midnightEndOfDay": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "ZoneRules": {
            "type": "object",
            "properties": {
                "transitions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ZoneOffsetTransition"
                    }
                },
                "transitionRules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/ZoneOffsetTransitionRule"
                    }
                },
                "fixedOffset": {
                    "type": "boolean",
                    "default": false
                }
            }
        },
        "ZonedDateTime": {
            "type": "object",
            "properties": {
                "offset": {
                    "$ref": "#/definitions/ZoneOffset"
                },
                "zone": {
                    "$ref": "#/definitions/ZoneId"
                },
                "dayOfYear": {
                    "type": "integer",
                    "format": "int32"
                },
                "dayOfWeek": {
                    "type": "string",
                    "enum": [
                        "MONDAY",
                        "TUESDAY",
                        "WEDNESDAY",
                        "THURSDAY",
                        "FRIDAY",
                        "SATURDAY",
                        "SUNDAY"
                    ]
                },
                "month": {
                    "type": "string",
                    "enum": [
                        "JANUARY",
                        "FEBRUARY",
                        "MARCH",
                        "APRIL",
                        "MAY",
                        "JUNE",
                        "JULY",
                        "AUGUST",
                        "SEPTEMBER",
                        "OCTOBER",
                        "NOVEMBER",
                        "DECEMBER"
                    ]
                },
                "dayOfMonth": {
                    "type": "integer",
                    "format": "int32"
                },
                "year": {
                    "type": "integer",
                    "format": "int32"
                },
                "monthValue": {
                    "type": "integer",
                    "format": "int32"
                },
                "nano": {
                    "type": "integer",
                    "format": "int32"
                },
                "hour": {
                    "type": "integer",
                    "format": "int32"
                },
                "minute": {
                    "type": "integer",
                    "format": "int32"
                },
                "second": {
                    "type": "integer",
                    "format": "int32"
                },
                "chronology": {
                    "$ref": "#/definitions/Chronology"
                }
            }
        },
        "APIKeyPairSerializer": {
            "type": "object",
            "required": [
                "owner"
            ],
            "properties": {
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "id": {
                    "type": "integer"
                },
                "keyId": {
                    "type": "string"
                },
                "keySecret": {
                    "type": "string"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "owner": {
                    "type": "string",
                    "description": "User UUID"
                }
            }
        },
        "ApplicationSerializer": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "description": {
                    "type": "string",
                    "description": "description"
                },
                "displayName": {
                    "type": "string",
                    "description": "display name, same as name if not provided"
                },
                "isInternal": {
                    "type": "boolean",
                    "description": "Is internal Application"
                },
                "manager": {
                    "type": "string"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "Application name"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "AuthSerializer": {
            "type": "object",
            "required": [
                "authType"
            ],
            "properties": {
                "apps": {
                    "type": "array",
                    "description": "list of Application names, request roles for these Applications. If empty, user roles are not returned for any Application",
                    "items": {
                        "type": "string",
                        "description": "Request roles for these Applications "
                    }
                },
                "authType": {
                    "type": "string",
                    "description": "Authentication Type, rest of the parameters depend on this"
                },
                "keyId": {
                    "type": "string",
                    "description": "Required for authType mac"
                },
                "password": {
                    "type": "string",
                    "description": "required for authType password"
                },
                "tenant": {
                    "type": "string",
                    "description": "Tenant Name required for authType password"
                },
                "token": {
                    "type": "string",
                    "description": "Required for authType token"
                },
                "username": {
                    "type": "string",
                    "description": "required for authType password"
                }
            }
        },
        "UserSerializer": {
            "type": "object",
            "required": [
                "firstName",
                "lastName",
                "username"
            ],
            "properties": {
                "accessibleTenants": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "clientInactivityTime": {
                    "type": "integer",
                    "description": "timeout in seconds of inactivity"
                },
                "concurrentSessionMax": {
                    "type": "integer",
                    "description": "The maximum number of concurrent sessions. (0=infinity)"
                },
                "dateJoined": {
                    "type": "string",
                    "format": "date-time"
                },
                "description": {
                    "type": "string",
                    "description": "user's description"
                },
                "directory": {
                    "type": "string",
                    "description": "Indicates which directory user is from, e.g. ldap"
                },
                "dormancyDays": {
                    "type": "integer",
                    "description": "number of days before an account can become dormant"
                },
                "email": {
                    "type": "string",
                    "description": "user's email address"
                },
                "failedLoginAttempts": {
                    "type": "integer",
                    "description": "Failed login attempts since last successful attempt"
                },
                "firstName": {
                    "type": "string",
                    "description": "user's first name"
                },
                "initDormancyTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "isActive": {
                    "type": "boolean",
                    "description": "Designates whether this user should be treated as active. Unselect this instead of deleting accounts."
                },
                "isDormant": {
                    "type": "boolean",
                    "description": "Designates whether this user is dormant from account inactivity"
                },
                "isExpired": {
                    "type": "boolean",
                    "description": "Designates whether password of the user is expired or not"
                },
                "isInternal": {
                    "type": "boolean",
                    "description": "Internal User"
                },
                "isLocked": {
                    "type": "boolean",
                    "description": "Designates whether this user is locked from failed login attempts"
                },
                "isVerboseLogging": {
                    "type": "boolean",
                    "description": "User permission for generating audit logs"
                },
                "lastLoginDetail": {
                    "type": "string"
                },
                "lastLoginDetailUuid": {
                    "type": "string"
                },
                "lastName": {
                    "type": "string",
                    "description": "user's last name"
                },
                "passwordChangeRequired": {
                    "type": "boolean",
                    "description": "Password change required"
                },
                "passwordExpirationDays": {
                    "type": "integer",
                    "description": "Number of days before an password for the account expires."
                },
                "resolvedClientInactivityTime": {
                    "type": "string"
                },
                "resolvedConcurrentSessionMax": {
                    "type": "string"
                },
                "resolvedDisabledQualifiers": {
                    "type": "string"
                },
                "resolvedDormancyDays": {
                    "type": "string"
                },
                "resolvedPasswordExpirationDays": {
                    "type": "string"
                },
                "resolvedPasswordExpirationTime": {
                    "type": "string"
                },
                "resolvedTokenExpirationTime": {
                    "type": "string"
                },
                "roles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tenant": {
                    "type": "string",
                    "description": "tenant UUID of user, if not provided \"master\" tenant is used"
                },
                "tokenExpirationTime": {
                    "type": "integer",
                    "description": "token expires in timeout seconds from created time"
                },
                "unlockTime": {
                    "type": "string",
                    "description": "Time when this user was locked.",
                    "format": "date-time"
                },
                "usergroups": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "username": {
                    "type": "string",
                    "description": "Required. 100 characters or fewer. Letters, numbers and @/./+/-/_ characters"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "CurrentUserLoginInfoSerializer": {
            "type": "object",
            "required": [
                "token",
                "tenantContext",
                "tenantContextId",
                "sessionId"
            ],
            "properties": {
                "sessionId": {
                    "type": "string"
                },
                "tenantContext": {
                    "type": "string",
                    "description": "Tenant name for which this token is valid"
                },
                "tenantContextId": {
                    "type": "string",
                    "description": "Tenant uuid for which this token is valid"
                },
                "token": {
                    "type": "string",
                    "description": "Current Token used for Authentication"
                },
                "user": {
                    "type": "string",
                    "description": "Token owner(user) UUID"
                }
            }
        },
        "HealthCheckSerializer": {
            "type": "object",
            "required": [
                "databaseCount"
            ],
            "properties": {
                "databaseCount": {
                    "type": "integer",
                    "description": "Number of database back ends configured"
                }
            }
        },
        "LDAPConfigSerializer": {
            "type": "object",
            "required": [
                "name",
                "groupObjectFilter"
            ],
            "properties": {
                "accessibleTenantsAttribute": {
                    "type": "string",
                    "description": "Attribute to define multiple tenant access for this user"
                },
                "baseDn": {
                    "type": "string"
                },
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "description": {
                    "type": "string",
                    "description": "LDAP config description"
                },
                "domainSearchUser": {
                    "type": "string",
                    "description": "LDAP username to perform user lookups. Example: user@domain.com"
                },
                "enableReferrals": {
                    "type": "boolean",
                    "description": "Microsoft AD needs this to be disabled. (Anonymous bind is not supported)"
                },
                "enableSsl": {
                    "type": "boolean"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Activate this LDAP Configuration, if false, configuration exists in database but will not be used"
                },
                "groupNameAttribute": {
                    "type": "string",
                    "description": "Attribute to load group name"
                },
                "groupObjectFilter": {
                    "type": "string",
                    "description": "Filter when searching group"
                },
                "memberAttr": {
                    "type": "string",
                    "description": "'member_attr' used for 'group_object_filter', e.g. set 'memberUid' for '(objectClass=posixGroup)', 'member' for '(objectClass=groupOfNames)', 'uniqueMember' for '(objectClass=GroupOfUniqueNames)' when using OpenLDAP; 'member' for '(objectClass=group)' when using Microsoft AD."
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "LDAP config name"
                },
                "roleMap": {
                    "type": "string",
                    "description": "Dictionary string that maps LDAP groups/roles to a list of tron roles"
                },
                "serverIp": {
                    "type": "string",
                    "description": "Server address"
                },
                "sslLevel": {
                    "type": "string",
                    "description": "SSL security level (NEVER, ALLOW, DEMAND)"
                },
                "tenantAttribute": {
                    "type": "string",
                    "description": "Tenant attribute to filter user"
                },
                "userNameAttribute": {
                    "type": "string",
                    "description": "Attribute to load user name"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "LoginDetailSerializer": {
            "type": "object",
            "required": [
                "userUuid",
                "ipAddress",
                "sessionId"
            ],
            "properties": {
                "ipAddress": {
                    "type": "string"
                },
                "isSuccessful": {
                    "type": "boolean"
                },
                "sessionId": {
                    "type": "string"
                },
                "time": {
                    "type": "string",
                    "format": "date-time"
                },
                "userUuid": {
                    "type": "string"
                }
            }
        },
        "LoginInfoSerializer": {
            "type": "object",
            "required": [
                "tenantNumber",
                "ldapEnabled",
                "radiusEnabled",
                "passwordResetEnabled",
                "emailNotificationEnabled"
            ],
            "properties": {
                "emailNotificationEnabled": {
                    "type": "boolean",
                    "description": "Email notifications enabled/disabled"
                },
                "ldapEnabled": {
                    "type": "boolean",
                    "description": "LDAP Backend enabled/disabled"
                },
                "passwordResetEnabled": {
                    "type": "boolean",
                    "description": "Password Reset Feature enabled/disabled"
                },
                "radiusEnabled": {
                    "type": "boolean",
                    "description": "RADIUS Backend enabled/disabled"
                },
                "tenantNumber": {
                    "type": "integer",
                    "description": "Total number of tenants"
                }
            }
        },
        "LoginMessageSerializer": {
            "type": "object",
            "required": [
                "message"
            ],
            "properties": {
                "message": {
                    "type": "string"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "Serializer": {
            "type": "object"
        },
        "NotificationConfigSerializer": {
            "type": "object",
            "properties": {
                "confirmLinkPath": {
                    "type": "string",
                    "description": "Path on server of confirm email page - for example, uac/#/confirm-email for the uac-ui app.Don't change this field unless you really know what you're doing."
                },
                "emailLinkServer": {
                    "type": "string",
                    "description": "Hostname/IP to use in links in email alerts (Reset password and first time account setup emails)"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether email support is enabled"
                },
                "resetLinkPath": {
                    "type": "string",
                    "description": "Path on server of reset password page - for example, uac/#/set-password for the uac-ui app.Don't change this field unless you really know what you're doing."
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "OAuth2TokenSerializer": {
            "type": "object",
            "properties": {
                "accessToken": {
                    "type": "string"
                },
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "expirationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "expiresIn": {
                    "type": "integer",
                    "description": "Token expires in timeout seconds from created time"
                },
                "failedLoginAttempts": {
                    "type": "integer"
                },
                "inactiveExpirationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "isSuccessful": {
                    "type": "string",
                    "description": "Deprecated. Only successfull logins are stored."
                },
                "lastSuccessIpAddress": {
                    "type": "string"
                },
                "lastSuccessLogin": {
                    "type": "string",
                    "format": "date-time"
                },
                "loginDetail": {
                    "type": "string"
                },
                "radiusState": {
                    "type": "string",
                    "description": "Represents the Access-Challenge State attribute"
                },
                "tokenType": {
                    "type": "string"
                },
                "user": {
                    "type": "string"
                },
                "userTenantUuid": {
                    "type": "string"
                }
            }
        },
        "PartitionSerializer": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "description": {
                    "type": "string",
                    "description": "description"
                },
                "displayName": {
                    "type": "string",
                    "description": "display name, same as name if not provided"
                },
                "isActive": {
                    "type": "boolean",
                    "description": "Designates whether this partition should be treated as active."
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "Partition name"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "PasswordPolicySerializer": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "description": {
                    "type": "string",
                    "description": "Password policy description"
                },
                "emailPasswordExpirationDailyNotifications": {
                    "type": "integer",
                    "description": "Number of days before password expires to send emails. One email sent per day."
                },
                "emailPasswordExpirationWeeklyNotifications": {
                    "type": "integer",
                    "description": "Number of weeks before password expires to send emails. One email sent per week."
                },
                "enableLockout": {
                    "type": "boolean"
                },
                "failedLoginAttempts": {
                    "type": "integer"
                },
                "historySize": {
                    "type": "integer"
                },
                "lockoutDurationMinutes": {
                    "type": "integer"
                },
                "lockoutNonChangedDays": {
                    "type": "integer"
                },
                "minimumChangeDays": {
                    "type": "integer"
                },
                "minimumDigits": {
                    "type": "integer"
                },
                "minimumLowercase": {
                    "type": "integer"
                },
                "minimumPasswordLength": {
                    "type": "integer"
                },
                "minimumSpecialChars": {
                    "type": "integer"
                },
                "minimumUppercase": {
                    "type": "integer"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "Policy name"
                },
                "passwordChangeDays": {
                    "type": "integer"
                },
                "passwordExpirationWarningPeriod": {
                    "type": "integer",
                    "description": "Number of days before the password expires to provide notifications."
                },
                "requireDigits": {
                    "type": "string"
                },
                "requireMixedCase": {
                    "type": "string"
                },
                "requirePeriodicChange": {
                    "type": "boolean"
                },
                "requireSpecialChars": {
                    "type": "string"
                },
                "tenant": {
                    "type": "string",
                    "description": "Tenant UUID, if not provided \"master\" tenant is used"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "PermissionSerializer": {
            "type": "object",
            "required": [
                "displayName",
                "operation",
                "standby",
                "name"
            ],
            "properties": {
                "category": {
                    "type": "string",
                    "description": "Permission Category"
                },
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "customerModifiable": {
                    "type": "boolean",
                    "description": "Can the customer modify or delete this Permission?  Used to prevent changes to default Permissions."
                },
                "description": {
                    "type": "string",
                    "description": "Permission Description"
                },
                "displayName": {
                    "type": "string",
                    "description": "Display name, same as name if not provided"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Default permissions status"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "Permission name"
                },
                "operation": {
                    "type": "string",
                    "description": "HTTP Operation like GET/POST"
                },
                "resources": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "resourcesAlways": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "resourcesConditional": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "resourcesNever": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "standby": {
                    "type": "boolean"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "PermissionResourcesSerializer": {
            "type": "object",
            "required": [
                "resources"
            ],
            "properties": {
                "resources": {
                    "type": "array",
                    "description": "list of resource uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "RADIUSConfigSerializer": {
            "type": "object",
            "required": [
                "tenant",
                "serverIp",
                "name"
            ],
            "properties": {
                "authoritativeRoleSource": {
                    "type": "boolean",
                    "description": "True if your RADIUS keeps a list of users' roles"
                },
                "authport": {
                    "type": "integer"
                },
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "description": {
                    "type": "string",
                    "description": "RADIUS config description"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Activate this RADIUS configuration, if false, configuration exists in database but will not be used"
                },
                "heartbeatUser": {
                    "type": "string",
                    "description": "Heartbeat user"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "RADIUS config name"
                },
                "retries": {
                    "type": "integer"
                },
                "roleMap": {
                    "type": "string",
                    "description": "Dictionary string that maps radius group/role to tron role"
                },
                "serverIp": {
                    "type": "string"
                },
                "tenant": {
                    "type": "string",
                    "description": "Tenant name"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Timeout in seconds for attempts to talk to the RADIUS server. Range is 1 to 60."
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "RegistrationSerializer": {
            "type": "object",
            "required": [
                "firstName",
                "lastName",
                "email",
                "username"
            ],
            "properties": {
                "email": {
                    "type": "string",
                    "description": "user's email address"
                },
                "firstName": {
                    "type": "string",
                    "description": "user's first name"
                },
                "lastName": {
                    "type": "string",
                    "description": "user's last name"
                },
                "tenant": {
                    "type": "string",
                    "description": "tenant UUID of user, if not provided \"master\" tenant is used"
                },
                "username": {
                    "type": "string",
                    "description": "User's username"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "ApproveUserSerializer": {
            "type": "object",
            "required": [
                "registrations"
            ],
            "properties": {
                "registrations": {
                    "type": "array",
                    "description": "list of registration uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "BaseResponseSerializer": {
            "type": "object",
            "required": [
                "status"
            ],
            "properties": {
                "status": {
                    "type": "string"
                }
            }
        },
        "EmailTokenSerializer": {
            "type": "object",
            "required": [
                "token"
            ],
            "properties": {
                "token": {
                    "type": "string",
                    "description": "Token from the email"
                }
            }
        },
        "EmailVerificationSerializer": {
            "type": "object",
            "required": [
                "email"
            ],
            "properties": {
                "email": {
                    "type": "string",
                    "description": "user's email address"
                },
                "tenant": {
                    "type": "string",
                    "description": "tenant name"
                }
            }
        },
        "SetPasswordSerializer": {
            "type": "object",
            "required": [
                "token",
                "password"
            ],
            "properties": {
                "password": {
                    "type": "string",
                    "description": "user's new password"
                },
                "token": {
                    "type": "string",
                    "description": "token from the forgot password email"
                }
            }
        },
        "ResourceSerializer": {
            "type": "object",
            "required": [
                "resource",
                "name"
            ],
            "properties": {
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "Resource name"
                },
                "resource": {
                    "type": "string",
                    "description": "HTTP Resource like api/v1/users"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "RoleSerializer": {
            "type": "object",
            "required": [
                "displayName",
                "name"
            ],
            "properties": {
                "allPartitions": {
                    "type": "boolean",
                    "description": "Ignore partitions field and enable all active available partitions"
                },
                "application": {
                    "type": "string",
                    "description": "Application uuid, if not provided default \"BluePlanet\" app is used"
                },
                "bypassDormancy": {
                    "type": "boolean",
                    "description": "Whether or not users with this role are exempt from the effects of dormancy."
                },
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "customerModifiable": {
                    "type": "boolean",
                    "description": "Can the customer modify or delete this Role?  Used to prevent changes to default Roles."
                },
                "description": {
                    "type": "string",
                    "description": "description"
                },
                "displayName": {
                    "type": "string",
                    "description": "display name, same as name if not provided"
                },
                "isInternal": {
                    "type": "boolean",
                    "description": "Internal role"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "Role name"
                },
                "parents": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "partitions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "permissions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "reservedSessions": {
                    "type": "integer",
                    "description": "The maximum number of concurrent sessions per role. (0=infinity)"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "RoleParentsSerializer": {
            "type": "object",
            "required": [
                "parents"
            ],
            "properties": {
                "parents": {
                    "type": "array",
                    "description": "list of role uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "RolePartitionSerializer": {
            "type": "object",
            "required": [
                "partitions"
            ],
            "properties": {
                "partitions": {
                    "type": "array",
                    "description": "list of partition uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "RolePermissionsSerializer": {
            "type": "object",
            "required": [
                "permissions"
            ],
            "properties": {
                "permissions": {
                    "type": "array",
                    "description": "list of permission uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "RoleUsersSerializer": {
            "type": "object",
            "required": [
                "users"
            ],
            "properties": {
                "users": {
                    "type": "array",
                    "description": "list of user uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "RoleReservedSessionsSerializer": {
            "type": "object",
            "required": [
                "reservedSessions"
            ],
            "properties": {
                "reservedSessions": {
                    "type": "integer",
                    "description": "The maximum number of concurrent sessions per role. (0=infinity)"
                }
            }
        },
        "SessionSerializer": {
            "type": "object",
            "required": [
                "sessionId",
                "username",
                "tenantname",
                "tenantId",
                "userId",
                "time",
                "ipAddress",
                "userAgent",
                "sessionType"
            ],
            "properties": {
                "ipAddress": {
                    "type": "string"
                },
                "sessionId": {
                    "type": "string"
                },
                "sessionType": {
                    "type": "string"
                },
                "tenantId": {
                    "type": "string"
                },
                "tenantname": {
                    "type": "string"
                },
                "time": {
                    "type": "string",
                    "format": "date-time"
                },
                "userAgent": {
                    "type": "string"
                },
                "userId": {
                    "type": "string"
                },
                "username": {
                    "type": "string"
                }
            }
        },
        "TenantSerializer": {
            "type": "object",
            "required": [
                "parent",
                "name"
            ],
            "properties": {
                "clientInactivityTime": {
                    "type": "integer",
                    "description": "timeout in seconds of inactivity"
                },
                "concurrentSessionMax": {
                    "type": "integer",
                    "description": "The maximum number of concurrent sessions for tenant users. (0=infinity)"
                },
                "concurrentSessionMaxPerTenant": {
                    "type": "integer",
                    "description": "The maximum number of concurrent sessions per tenant. (0=infinity)"
                },
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "description": {
                    "type": "string",
                    "description": "Tenant description"
                },
                "displayName": {
                    "type": "string",
                    "description": "Tenant display name"
                },
                "dormancyDays": {
                    "type": "integer",
                    "description": "number of days before an account can become dormant"
                },
                "emailDormancyDailyNotifications": {
                    "type": "integer",
                    "description": "Number of days before dormancy to send emails. One email sent per day."
                },
                "emailDormancyWeeklyNotifications": {
                    "type": "integer",
                    "description": "Number of weeks before dormancy to send emails. One email sent per week."
                },
                "isActive": {
                    "type": "boolean",
                    "description": "Designates whether this tenant should be treated as active. If Tenant is not active, none of its users can be authenticated"
                },
                "isMaster": {
                    "type": "boolean",
                    "description": "Marks a tenant as Master, only one should be true"
                },
                "message": {
                    "type": "string",
                    "description": "Message to be displayed after the user logs-in. Can be text, html, etc..",
                    "format": "textarea"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "Tenant name"
                },
                "parent": {
                    "type": "string",
                    "description": "Parent tenant UUID"
                },
                "tokenExpirationTime": {
                    "type": "integer",
                    "description": "token expires in timeout seconds from created time"
                },
                "type": {
                    "type": "string",
                    "description": "Tenant type"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "TokenSerializer": {
            "type": "object",
            "properties": {
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "failedLoginAttempts": {
                    "type": "integer"
                },
                "inactiveExpirationTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "isSuccessful": {
                    "type": "string",
                    "description": "Deprecated. Only successfull logins are stored."
                },
                "lastSuccessIpAddress": {
                    "type": "string"
                },
                "lastSuccessLogin": {
                    "type": "string",
                    "format": "date-time"
                },
                "loginDetail": {
                    "type": "string"
                },
                "radiusState": {
                    "type": "string",
                    "description": "Represents the Access-Challenge State attribute"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Seconds"
                },
                "token": {
                    "type": "string"
                },
                "user": {
                    "type": "string"
                },
                "userTenantUuid": {
                    "type": "string"
                }
            }
        },
        "TenantContextSerializer": {
            "type": "object",
            "required": [
                "tenantContext"
            ],
            "properties": {
                "tenantContext": {
                    "type": "string",
                    "description": "Tenant name, request token for this tenant"
                }
            }
        },
        "UserGroupSerializer": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "clientInactivityTime": {
                    "type": "integer",
                    "description": "timeout in seconds of inactivity"
                },
                "concurrentSessionMax": {
                    "type": "integer",
                    "description": "The maximum number of concurrent sessions. (0=infinity)"
                },
                "createdTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "description": {
                    "type": "string",
                    "description": "description"
                },
                "dormancyDays": {
                    "type": "integer",
                    "description": "number of days before an account can become dormant"
                },
                "modifiedTime": {
                    "type": "string",
                    "format": "date-time"
                },
                "name": {
                    "type": "string",
                    "description": "Group name"
                },
                "parents": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "resolvedClientInactivityTime": {
                    "type": "string"
                },
                "resolvedDormancyDays": {
                    "type": "string"
                },
                "resolvedTokenExpirationTime": {
                    "type": "string"
                },
                "roles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                },
                "tokenExpirationTime": {
                    "type": "integer",
                    "description": "token expires in timeout seconds from created time"
                },
                "uuid": {
                    "type": "string"
                }
            }
        },
        "UserGroupParentsSerializer": {
            "type": "object",
            "required": [
                "parents"
            ],
            "properties": {
                "parents": {
                    "type": "array",
                    "description": "list of user group uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "UserRoleSerializer": {
            "type": "object",
            "required": [
                "roles"
            ],
            "properties": {
                "roles": {
                    "type": "array",
                    "description": "list of role uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "UserGroupUsersSerializer": {
            "type": "object",
            "required": [
                "users"
            ],
            "properties": {
                "users": {
                    "type": "array",
                    "description": "list of user uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "UserTenantSerializer": {
            "type": "object",
            "required": [
                "accessibleTenants"
            ],
            "properties": {
                "accessibleTenants": {
                    "type": "array",
                    "description": "list of tenant uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "UserUserGroupSerializer": {
            "type": "object",
            "required": [
                "usergroups"
            ],
            "properties": {
                "usergroups": {
                    "type": "array",
                    "description": "list of group uuids",
                    "items": {
                        "type": "string"
                    }
                }
            }
        },
        "ResetPasswordSerializer": {
            "type": "object",
            "required": [
                "newPassword",
                "newPasswordConfirm"
            ],
            "properties": {
                "currentPassword": {
                    "type": "string",
                    "description": "Not required for reset_password,required for set_password if user's password is set at least once"
                },
                "force": {
                    "type": "boolean",
                    "description": "Allow admin to skip password checks"
                },
                "newPassword": {
                    "type": "string",
                    "description": "user's new password"
                },
                "newPasswordConfirm": {
                    "type": "string",
                    "description": "Should match newPassword"
                }
            }
        },
        "PasswordSerializer": {
            "type": "object",
            "required": [
                "newPassword",
                "newPasswordConfirm"
            ],
            "properties": {
                "currentPassword": {
                    "type": "string",
                    "description": "Not required for reset_password,required for set_password if user's password is set at least once"
                },
                "newPassword": {
                    "type": "string",
                    "description": "user's new password"
                },
                "newPasswordConfirm": {
                    "type": "string",
                    "description": "Should match newPassword"
                }
            }
        },
        "ModulationClassTypes": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32
            ],
            "type": "integer"
        },
        "TerminationEquipmentType": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22,
                23,
                24,
                25,
                26,
                27,
                28,
                29,
                30,
                31,
                32,
                33,
                34,
                35,
                36,
                37,
                38,
                39,
                40,
                41,
                42,
                43,
                44,
                45,
                46,
                47,
                48,
                49,
                50,
                51,
                52,
                53,
                54,
                55,
                56,
                57,
                58,
                59,
                60,
                61,
                62,
                63,
                64,
                65,
                66,
                67,
                68,
                69,
                70,
                71,
                72,
                73,
                74,
                75,
                76,
                77,
                78,
                79,
                80,
                81,
                82,
                83,
                84,
                85,
                86,
                87,
                88,
                89,
                90,
                91,
                92,
                93,
                94,
                95,
                96,
                97,
                98,
                99,
                100,
                101,
                102,
                103,
                104,
                105,
                106,
                107,
                108,
                109,
                110,
                111,
                112,
                113,
                114,
                115,
                116,
                117,
                118,
                119,
                120,
                121,
                122,
                123,
                124,
                125,
                126,
                127,
                128,
                129,
                130,
                131,
                132,
                133,
                134,
                135,
                136,
                137,
                138,
                139,
                140,
                141,
                142,
                143,
                144,
                145,
                146,
                147,
                148,
                149,
                150,
                151,
                152,
                153,
                154,
                155,
                156,
                157,
                158,
                159,
                160,
                161,
                162,
                163,
                164,
                165,
                166,
                167,
                168,
                169,
                170,
                171,
                172,
                173,
                174,
                175,
                176,
                177,
                178,
                179,
                180,
                181,
                182,
                183,
                184,
                185,
                186,
                187,
                188,
                189,
                190,
                191,
                192,
                193,
                194,
                195,
                196,
                197,
                198,
                199,
                200,
                201,
                202,
                203,
                204,
                205,
                206,
                207,
                208,
                209,
                210,
                211,
                212,
                213,
                214,
                215,
                216,
                217,
                218,
                219,
                220,
                221,
                222,
                223,
                224,
                225,
                226,
                227,
                228,
                229,
                230,
                231,
                232,
                233,
                234,
                235,
                236,
                237,
                238,
                239,
                240,
                241,
                242,
                243,
                244,
                245,
                246,
                247,
                248,
                249,
                250,
                251,
                252,
                253,
                254,
                255,
                256,
                257,
                258,
                259,
                260,
                261,
                262,
                263,
                264,
                265,
                266,
                267,
                268,
                269,
                270,
                271,
                272,
                273,
                274,
                275,
                276,
                277,
                278,
                279,
                280,
                281,
                282,
                283,
                284,
                285,
                286,
                287,
                288,
                289,
                290,
                291,
                292,
                293,
                294,
                295,
                296,
                297,
                298,
                299,
                300,
                301,
                302,
                303,
                304,
                305,
                306,
                307,
                308,
                309,
                310,
                311,
                312,
                313,
                314,
                315,
                316,
                317,
                318,
                319,
                320,
                321,
                322,
                323,
                324,
                325,
                326,
                327,
                328,
                329,
                330,
                331,
                332,
                333,
                334,
                335,
                336,
                337,
                338,
                339,
                340,
                341,
                342,
                343,
                344,
                345,
                346,
                347,
                348,
                349,
                350,
                351,
                352,
                353,
                354,
                355,
                356,
                357,
                358,
                359,
                360,
                361,
                362,
                363,
                364,
                365,
                366,
                367,
                368,
                369,
                370,
                371,
                372,
                373,
                374,
                375,
                376,
                377,
                378,
                379,
                380,
                381,
                382,
                383,
                384,
                385,
                386,
                387,
                388,
                389,
                390,
                391,
                392,
                393,
                394,
                395,
                396,
                397,
                398,
                399,
                400,
                401,
                402,
                403,
                404,
                405,
                406,
                407,
                408,
                409,
                410,
                411,
                412,
                413,
                414,
                415,
                416,
                417,
                418,
                419,
                420,
                421,
                422,
                423,
                424,
                425,
                426,
                427,
                428,
                429,
                430,
                431,
                432,
                433,
                434,
                435,
                436,
                437,
                438,
                439,
                440,
                441,
                442,
                443,
                444,
                445,
                446,
                447,
                448,
                449,
                450,
                451,
                452,
                453,
                454,
                455,
                456,
                457,
                458,
                459,
                460,
                461,
                462,
                463,
                464,
                465,
                466,
                467,
                468,
                469,
                470,
                471,
                472,
                473,
                474,
                475,
                476,
                477,
                478,
                479,
                480,
                481,
                482,
                483,
                484,
                485,
                486,
                487,
                488,
                489,
                490,
                491,
                492,
                493,
                494,
                495,
                496,
                497,
                498,
                499,
                500,
                501,
                502,
                503,
                504,
                505,
                506,
                507,
                508,
                509,
                510,
                511,
                512,
                513,
                514,
                515,
                516,
                517,
                518,
                519,
                520,
                521,
                522,
                523,
                524,
                525,
                526,
                527,
                528,
                529,
                530,
                531,
                532,
                533,
                534,
                535,
                536,
                537,
                538,
                539,
                540,
                541,
                542,
                543,
                544,
                545,
                546,
                547,
                548,
                549,
                550,
                551,
                552,
                553,
                554,
                555,
                556,
                557,
                558,
                559,
                560,
                561,
                562,
                563,
                564,
                565,
                566,
                567,
                568,
                569,
                570,
                571,
                572,
                573,
                574,
                575,
                576,
                577,
                578,
                579,
                580,
                581,
                582,
                583,
                584,
                585,
                586,
                587,
                588,
                589,
                590,
                591,
                592,
                593,
                594,
                595,
                596,
                597,
                598,
                599,
                600,
                601,
                602,
                603,
                604,
                605,
                606,
                607,
                608,
                609,
                610,
                611,
                612,
                613,
                614,
                615,
                616,
                617,
                618,
                619,
                620,
                621,
                622,
                623,
                624,
                625,
                626,
                627,
                628,
                629,
                630,
                631,
                632,
                633,
                634,
                635,
                636,
                637,
                638,
                639,
                640,
                641,
                642,
                643,
                644,
                645,
                646,
                647,
                648,
                649,
                650,
                651,
                652,
                653,
                654,
                655,
                656,
                657,
                658,
                659,
                660,
                661,
                662,
                663,
                664,
                665,
                666,
                667,
                668,
                669,
                670,
                671,
                672,
                673,
                674,
                675,
                676,
                677,
                678,
                679,
                680,
                681,
                682,
                683,
                684,
                685,
                686,
                687,
                688,
                689,
                690,
                691,
                692,
                693,
                694,
                695,
                696,
                697,
                698,
                699,
                700,
                701,
                702,
                703,
                704,
                705,
                706,
                707,
                708,
                709,
                710,
                711,
                712,
                713,
                714,
                715,
                716,
                717,
                718,
                719,
                720,
                721,
                722,
                723,
                724,
                725,
                726,
                727,
                728,
                729,
                730,
                731,
                732,
                733,
                734,
                735,
                736,
                737,
                738,
                739,
                740,
                741,
                742,
                743,
                744,
                745,
                746,
                747,
                748,
                749,
                750,
                751,
                752,
                753,
                754,
                755,
                756,
                757,
                758,
                759,
                760,
                761,
                762,
                763,
                764,
                765,
                766,
                767,
                768,
                769,
                770,
                771,
                772,
                773,
                774,
                775,
                776,
                777,
                778,
                779,
                780,
                781,
                782,
                783,
                784,
                785,
                786,
                787,
                788,
                789,
                790,
                791,
                792,
                793,
                794,
                795,
                796,
                797,
                798,
                799,
                800,
                801,
                802,
                803,
                804,
                805,
                806,
                807,
                808,
                809,
                810,
                811,
                812,
                813,
                814,
                815,
                816,
                817,
                818,
                819,
                820,
                821,
                822,
                823,
                824,
                825,
                826,
                827,
                828,
                829,
                830,
                831,
                832,
                833,
                834,
                835,
                836,
                837,
                838,
                839,
                840,
                841,
                842,
                843,
                844,
                845,
                846,
                847,
                848,
                849,
                850,
                851,
                852,
                853,
                854,
                855,
                856,
                857,
                858,
                859,
                860,
                861,
                862,
                863,
                864,
                865,
                866,
                867,
                868,
                869,
                870,
                871,
                872,
                873,
                874,
                875,
                876,
                877,
                878,
                879,
                880,
                881,
                882,
                883,
                884,
                885,
                886,
                887,
                888,
                889,
                890,
                891,
                892,
                893,
                894,
                895,
                896,
                897,
                898,
                899,
                900,
                901,
                902,
                903,
                904,
                905,
                906,
                907,
                908,
                909,
                910,
                911,
                912,
                913,
                914,
                915,
                916,
                917,
                918,
                919,
                920,
                921,
                922,
                923,
                924,
                925,
                926,
                927,
                928,
                929,
                930,
                931,
                932,
                933,
                934,
                935,
                936,
                937,
                938,
                939,
                940,
                941,
                942,
                943,
                944,
                945,
                946,
                947,
                948,
                949,
                950,
                951,
                952,
                953,
                954,
                955,
                956,
                957,
                958,
                959,
                960,
                961,
                962,
                963,
                964,
                965,
                966,
                967,
                968,
                969,
                970,
                971,
                972,
                973,
                974,
                975,
                976,
                977,
                978,
                979,
                980,
                981,
                982,
                983,
                984,
                985,
                986,
                987,
                988,
                989,
                990,
                991,
                992,
                993,
                994,
                995,
                996,
                997,
                998,
                999,
                1000,
                1001,
                1002,
                1003,
                1004,
                1005,
                1006,
                1007,
                1008,
                1009,
                1010,
                1011,
                1012,
                1013,
                1014,
                1015,
                1016,
                1017,
                1018,
                1019,
                1020,
                1021,
                1022,
                1023,
                1024,
                1025,
                1026,
                1027,
                1028,
                1029,
                1030,
                1031,
                1032,
                1033,
                1034,
                1035,
                1036,
                1037,
                1038,
                1039,
                1040,
                1041,
                1042,
                1043,
                1044,
                1045,
                1046,
                1047,
                1048,
                1049,
                1050,
                1051,
                1052,
                1053,
                1054,
                1055,
                1056,
                1057,
                1058,
                1059,
                1060,
                1061,
                1062,
                1063,
                1064,
                1065,
                1066,
                1067,
                1068,
                1069,
                1070,
                1071,
                1072,
                1073,
                1074,
                1075,
                1076,
                1077,
                1078,
                1079,
                1080,
                1081,
                1082,
                1083,
                1084,
                1085,
                1086,
                1087,
                1088,
                1089,
                1090,
                1091,
                1092,
                1093,
                1094,
                1095,
                1096,
                1097,
                1098,
                1099,
                1100,
                1101,
                1102,
                1103,
                1104,
                1105,
                1106,
                1107,
                1108,
                1109,
                1110,
                1111,
                1112,
                1113,
                1114,
                1115,
                1116,
                1117,
                1118,
                1119,
                1120,
                1121,
                1122,
                1123,
                1124,
                1125,
                1126,
                1127,
                1128,
                1129,
                1130,
                1131,
                1132,
                1133,
                1134,
                1135,
                1136,
                1137,
                1138,
                1139,
                1140,
                1141,
                1142,
                1143,
                1144,
                1145,
                1146,
                1147,
                1148,
                1149,
                1150,
                1151,
                1152,
                1153,
                1154,
                1155,
                1156,
                1157,
                1158,
                1159,
                1160,
                1161,
                1162,
                1163,
                1164,
                1165,
                1166,
                1167,
                1168,
                1169,
                1170,
                1171,
                1172,
                1173,
                1174,
                1175,
                1176,
                1177,
                1178,
                1179,
                1180,
                1181,
                1182,
                1183,
                1184,
                1185,
                1186,
                1187,
                1188,
                1189,
                1190,
                1191,
                1192,
                1193,
                1194,
                1195,
                1196,
                1197,
                1198,
                1199,
                1200,
                1201,
                1202,
                1203,
                1204,
                1205,
                1206,
                1207,
                1208,
                1209,
                1210,
                1211,
                1212,
                1213,
                1214,
                1215,
                1216,
                1217,
                1218,
                1219,
                1220,
                1221,
                1222,
                1223,
                1224,
                1225,
                1226,
                1227,
                1228,
                1229,
                1230,
                1231,
                1232,
                1233,
                1234,
                1235,
                1236,
                1237,
                1238,
                1239,
                1240,
                1241,
                1242,
                1243,
                1244,
                1245,
                1246,
                1247,
                1248,
                1249,
                1250,
                1251,
                1252,
                1253,
                1254,
                1255,
                1256,
                1257,
                1258,
                1259,
                1260,
                1261,
                1262,
                1263,
                1264,
                1265,
                1266,
                1267,
                1268,
                1269,
                1270,
                1271,
                1272,
                1273,
                1274,
                1275,
                1276,
                1277,
                1278,
                1279,
                1280,
                1281,
                1282,
                1283,
                1284,
                1285,
                1286,
                1287,
                1288,
                1289,
                1290,
                1291,
                1292,
                1293,
                1294,
                1295,
                1296,
                1297,
                1298,
                1299,
                1300,
                1301,
                1302,
                1303,
                1304,
                1305,
                1306,
                1307,
                1308,
                1309,
                1310,
                1311,
                1312,
                1313,
                1314,
                1315,
                1316,
                1317,
                1318,
                1319,
                1320,
                1321,
                1322,
                1323,
                1324,
                1325,
                1326,
                1327,
                1328,
                1329,
                1330,
                1331,
                1332,
                1333,
                1334,
                1335,
                1336,
                1337,
                1338,
                1339,
                1340,
                1341,
                1342,
                1343,
                1344,
                1345,
                1346,
                1347,
                1348,
                1349,
                1350,
                1351,
                1352,
                1353,
                1354,
                1355,
                1356,
                1357,
                1358,
                1359,
                1360,
                1361,
                1362,
                1363,
                1364,
                1365,
                1366,
                1367,
                1368,
                1369,
                1370,
                1371,
                1372,
                1373,
                1374,
                1375,
                1376,
                1377,
                1378,
                1379,
                1380,
                1381,
                1382,
                1383,
                1384,
                1385,
                1386,
                1387,
                1388,
                1389,
                1390,
                1391,
                1392,
                1393,
                1394,
                1395,
                1396,
                1397,
                1398,
                1399,
                1400,
                1401,
                1402,
                1403,
                1404,
                1405,
                1406,
                1407,
                1408,
                1409,
                1410,
                1411,
                1412,
                1413,
                1414,
                1415,
                1416,
                1417,
                1418,
                1419,
                1420,
                1421,
                1422,
                1423,
                1424,
                1425,
                1426,
                1427,
                1428,
                1429,
                1430,
                1431,
                1432,
                1433,
                1434,
                1435,
                1436,
                1437,
                1438,
                1439,
                1440,
                1441,
                1442,
                1443,
                1444,
                1445,
                1446,
                1447,
                1448,
                1449,
                1450,
                1451,
                1452,
                1453,
                1454,
                1455,
                1456,
                1457,
                1458,
                1459,
                1460,
                1461,
                1462,
                1463,
                1464,
                1465,
                1466,
                1467,
                1468,
                1469,
                1470,
                1471,
                1472,
                1473,
                1474,
                1475,
                1476,
                1477,
                1478,
                1479,
                1480,
                1481,
                1482,
                1483,
                1484,
                1485,
                1486,
                1487,
                1488,
                1489,
                1490,
                1491,
                1492,
                1493,
                1494,
                1495,
                1496,
                1497,
                1498,
                1499,
                1500,
                1501,
                1502,
                1503,
                1504,
                1505,
                1506,
                1507,
                1508,
                1509,
                1510,
                1511,
                1512,
                1513,
                1514,
                1515,
                1516,
                1517,
                1518,
                1519,
                1520,
                1521,
                1522,
                1523,
                1524,
                1525,
                1526,
                1527,
                1528,
                1529,
                1530,
                1531,
                1532,
                1533,
                1534,
                1535,
                1536,
                1537,
                1538,
                1539,
                1540,
                1541,
                1542,
                1543,
                1544,
                1545,
                1546,
                1547,
                1548,
                1549,
                1550,
                1551,
                1552,
                1553,
                1554,
                1555,
                1556,
                1557,
                1558,
                1559,
                1560,
                1561,
                1562,
                1563,
                1564,
                1565,
                1566,
                1567,
                1568,
                1569,
                1570,
                1571,
                1572,
                1573,
                1574,
                1575,
                1576,
                1577,
                1578,
                1579,
                1580,
                1581,
                1582,
                1583,
                1584,
                1585,
                1586,
                1587,
                1588,
                1589,
                1590,
                1591,
                1592,
                1593,
                1594,
                1595,
                1596,
                1597,
                1598,
                1599,
                1600,
                1601,
                1602,
                1603,
                1604,
                1605,
                1606,
                1607,
                1608,
                1609,
                1610,
                1611,
                1612,
                1613,
                1614,
                1615,
                1616,
                1617,
                1618,
                1619,
                1620,
                1621,
                1622,
                1623,
                1624,
                1625,
                1626,
                1627,
                1628,
                1629,
                1630,
                1631,
                1632,
                1633,
                1634,
                1635,
                1636,
                1637,
                1638,
                1639,
                1640,
                1641,
                1642,
                1643,
                1644,
                1645,
                1646,
                1647,
                1648,
                1649,
                1650,
                1651,
                1652,
                1653,
                1654,
                1655,
                1656,
                1657,
                1658,
                1659,
                1660,
                1661,
                1662,
                1663,
                1664,
                1665,
                1666,
                1667,
                1668,
                1669,
                1670,
                1671,
                1672,
                1673,
                1674,
                1675,
                1676,
                1677,
                1678,
                1679,
                1680,
                1681,
                1682,
                1683,
                1684,
                1685,
                1686,
                1687,
                1688,
                1689,
                1690,
                1691,
                1692,
                1693,
                1694,
                1695,
                1696,
                1697,
                1698,
                1699,
                1700,
                1701,
                1702,
                1703,
                1704,
                1705,
                1706,
                1707,
                1708,
                1709,
                1710,
                1711,
                1712,
                1713,
                1714,
                1715,
                1716,
                1717,
                1718,
                1719,
                1720,
                1721,
                1722,
                1723,
                1724,
                1725,
                1726,
                1727,
                1728,
                1729,
                1730,
                1731,
                1732,
                1733,
                1734,
                1735,
                1736,
                1737,
                1738,
                1739,
                1740,
                1741,
                1742,
                1743,
                1744,
                1745,
                1746,
                1747,
                1748,
                1749,
                1750,
                1751,
                1752,
                1753,
                1754,
                1755,
                1756,
                1757,
                1758,
                1759,
                1760,
                1761,
                1762,
                1763,
                1764,
                1765,
                1766,
                1767,
                1768,
                1769,
                1770,
                1771,
                1772,
                1773,
                1774,
                1775,
                1776,
                1777,
                1778,
                1779,
                1780,
                1781,
                1782,
                1783,
                1784,
                1785,
                1786,
                1787,
                1788,
                1789,
                1790,
                1791,
                1792,
                1793,
                1794,
                1795,
                1796,
                1797,
                1798,
                1799,
                1800,
                1801,
                1802,
                1803,
                1804,
                1805,
                1806,
                1807,
                1808,
                1809,
                1810,
                1811,
                1812,
                1813,
                1814,
                1815,
                1816,
                1817,
                1818,
                1819,
                1820,
                1821,
                1822,
                1823,
                1824,
                1825,
                1826,
                1827,
                1828,
                1829,
                1830,
                1831,
                1832,
                1833,
                1834,
                1835,
                1836,
                1837,
                1838,
                1839,
                1840,
                1841,
                1842,
                1843,
                1844,
                1845,
                1846,
                1847,
                1848,
                1849,
                1850,
                1851,
                1852,
                1853,
                1854,
                1855,
                1856,
                1857,
                1858,
                1859,
                1860,
                1861,
                1862,
                1863,
                1864,
                1865,
                1866,
                1867,
                1868,
                1869,
                1870,
                1871,
                1872,
                1873,
                1874,
                1875,
                1876,
                1877,
                1878,
                1879,
                1880,
                1881,
                1882,
                1883,
                1884,
                1885,
                1886,
                1887,
                1888,
                1889,
                1890,
                1891,
                1892,
                1893,
                1894,
                1895,
                1896,
                1897,
                1898,
                1899,
                1900,
                1901,
                1902,
                1903,
                1904,
                1905,
                1906,
                1907,
                1908,
                1909,
                1910,
                1911,
                1912,
                1913,
                1914,
                1915,
                1916,
                1917,
                1918,
                1919,
                1920,
                1921,
                1922,
                1923,
                1924,
                1925,
                1926,
                1927,
                1928,
                1929,
                1930,
                1931,
                1932,
                1933,
                1934,
                1935,
                1936,
                1937,
                1938,
                1939,
                1940,
                1941,
                1942,
                1943,
                1944,
                1945,
                1946,
                1947,
                1948,
                1949,
                1950,
                1951,
                1952,
                1953,
                1954,
                1955,
                1956,
                1957,
                1958,
                1959,
                1960,
                1961,
                1962,
                1963,
                1964,
                1965,
                1966,
                1967,
                1968,
                1969,
                1970,
                1971,
                1972,
                1973,
                1974,
                1975,
                1976,
                1977,
                1978,
                1979,
                1980,
                1981,
                1982,
                1983,
                1984,
                1985,
                1986,
                1987,
                1988,
                1989,
                1990,
                1991,
                1992,
                1993,
                1994,
                1995,
                1996,
                1997,
                1998,
                1999,
                2000,
                2001,
                2002,
                2003,
                2004,
                2005,
                2006,
                2007,
                2008,
                2009,
                2010,
                2011,
                2012,
                2013,
                2014,
                2015,
                2016,
                2017,
                2018,
                2019,
                2020,
                2021,
                2022,
                2023,
                2024,
                2025,
                2026,
                2027,
                2028,
                2029,
                2030,
                2031,
                2032,
                2033,
                2034,
                2035,
                2036,
                2037,
                2038,
                2039,
                2040,
                2041,
                2042,
                2043,
                2044,
                2045,
                2046,
                2047,
                2048,
                2049,
                2050,
                2051,
                2052,
                2053,
                2054,
                2055,
                2056,
                2057,
                2058,
                2059,
                2060,
                2061,
                2062,
                2063,
                2064,
                2065,
                2066,
                2067,
                2068,
                2069,
                2070,
                2071,
                2072,
                2073,
                2074,
                2075,
                2076,
                2077,
                2078,
                2079,
                2080,
                2081,
                2082,
                2083,
                2084,
                2085,
                2086,
                2087,
                2088,
                2089,
                2090,
                2091,
                2092,
                2093,
                2094,
                2095,
                2096,
                2097,
                2098,
                2099,
                2100,
                2101,
                2102,
                2103,
                2104,
                2105,
                2106,
                2107,
                2108,
                2109,
                2110,
                2111,
                2112,
                2113,
                2114,
                2115,
                2116,
                2117,
                2118,
                2119,
                2120,
                2121,
                2122,
                2123,
                2124,
                2125,
                2126,
                2127,
                2128,
                2129,
                2130,
                2131,
                2132,
                2133,
                2134,
                2135,
                2136,
                2137,
                2138,
                2139,
                2140,
                2141,
                2142,
                2143,
                2144,
                2145,
                2146,
                2147,
                2148,
                2149,
                2150,
                2151,
                2152,
                2153,
                2154,
                2155,
                2156,
                2157,
                2158,
                2159,
                2160,
                2161,
                2162,
                2163,
                2164,
                2165,
                2166,
                2167,
                2168,
                2169,
                2170,
                2171,
                2172,
                2173,
                2174,
                2175,
                2176,
                2177,
                2178,
                2179,
                2180,
                2181,
                2182,
                2183,
                2184,
                2185,
                2186,
                2187,
                2188,
                2189,
                2190,
                2191,
                2192,
                2193,
                2194,
                2195,
                2196,
                2197,
                2198,
                2199,
                2200,
                2201,
                2202,
                2203,
                2204,
                2205,
                2206,
                2207,
                2208,
                2209,
                2210,
                2211,
                2212,
                2213,
                2214,
                2215,
                2216,
                2217,
                2218,
                2219,
                2220,
                2221,
                2222,
                2223,
                2224,
                2225,
                2226,
                2227,
                2228,
                2229,
                2230,
                2231,
                2232,
                2233,
                2234,
                2235,
                2236,
                2237,
                2238,
                2239,
                2240,
                2241,
                2242,
                2243,
                2244,
                2245,
                2246,
                2247,
                2248,
                2249,
                2250,
                2251,
                2252,
                2253,
                2254,
                2255,
                2256,
                2257,
                2258,
                2259,
                2260,
                2261,
                2262,
                2263,
                2264,
                2265,
                2266,
                2267,
                2268,
                2269,
                2270,
                2271,
                2272,
                2273,
                2274,
                2275,
                2276,
                2277,
                2278,
                2279,
                2280,
                2281,
                2282,
                2283,
                2284,
                2285,
                2286,
                2287,
                2288,
                2289,
                2290,
                2291,
                2292,
                2293,
                2294,
                2295,
                2296,
                2297,
                2298,
                2299,
                2300,
                2301,
                2302,
                2303,
                2304,
                2305,
                2306,
                2307,
                2308,
                2309,
                2310,
                2311,
                2312,
                2313,
                2314,
                2315,
                2316,
                2317,
                2318,
                2319,
                2320,
                2321,
                2322,
                2323,
                2324,
                2325,
                2326,
                2327,
                2328,
                2329,
                2330,
                2331,
                2332,
                2333,
                2334,
                2335,
                2336,
                2337,
                2338,
                2339,
                2340,
                2341,
                2342,
                2343,
                2344,
                2345,
                2346,
                2347,
                2348,
                2349,
                2350,
                2351,
                2352,
                2353,
                2354,
                2355,
                2356,
                2357,
                2358,
                2359,
                2360,
                2361,
                2362,
                2363,
                2364,
                2365,
                2366,
                2367,
                2368,
                2369,
                2370,
                2371,
                2372,
                2373,
                2374,
                2375,
                2376,
                2377,
                2378,
                2379,
                2380,
                2381,
                2382,
                2383,
                2384,
                2385,
                2386,
                2387,
                2388,
                2389,
                2390,
                2391,
                2392
            ],
            "type": "integer"
        },
        "CmdFilterType": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19
            ],
            "type": "integer"
        },
        "WSSType": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18
            ],
            "type": "integer"
        },
        "AmpPackageType": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17,
                18,
                19,
                20,
                21,
                22
            ],
            "type": "integer"
        },
        "SplitterCouplerType": {
            "format": "int32",
            "enum": [
                0,
                1,
                2
            ],
            "type": "integer"
        },
        "VpEndPointDetail": {
            "required": [
                "cmdType",
                "dwdmInterface"
            ],
            "type": "object",
            "properties": {
                "dwdmInterface": {
                    "$ref": "#/definitions/TerminationEquipmentType"
                },
                "cmdType": {
                    "$ref": "#/definitions/CmdFilterType"
                },
                "wssType": {
                    "$ref": "#/definitions/WSSType"
                },
                "diaAmpType": {
                    "$ref": "#/definitions/AmpPackageType"
                },
                "padList": {
                    "type": "string"
                },
                "splitterCouplerType": {
                    "$ref": "#/definitions/SplitterCouplerType"
                },
                "coadmAmpType": {
                    "$ref": "#/definitions/AmpPackageType"
                },
                "demuxAmpType": {
                    "$ref": "#/definitions/AmpPackageType"
                },
                "diaWssType": {
                    "$ref": "#/definitions/WSSType"
                },
                "diaSplitterCouplerType": {
                    "$ref": "#/definitions/SplitterCouplerType"
                }
            }
        },
        "StatusTypes": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6
            ],
            "type": "integer"
        },
        "CalcModeTypes": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4
            ],
            "type": "integer"
        },
        "DispersionShiftFiberTypeTypes": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                10,
                11,
                12,
                13,
                14,
                15,
                16,
                17
            ],
            "type": "integer"
        },
        "LeVerificationCertificationTypes": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4
            ],
            "type": "integer"
        },
        "FailureReasonSeverityTypes": {
            "format": "int32",
            "enum": [
                0,
                1,
                2
            ],
            "type": "integer"
        },
        "ValidationResult": {
            "type": "object",
            "properties": {
                "calcMode": {
                    "$ref": "#/definitions/CalcModeTypes"
                },
                "rcvDispersionMargin": {
                    "format": "double",
                    "type": "number"
                },
                "rcvDispersionMarginMax": {
                    "format": "double",
                    "type": "number"
                },
                "optimumDispersionShift": {
                    "format": "double",
                    "type": "number"
                },
                "dispersionShiftFiberType": {
                    "$ref": "#/definitions/DispersionShiftFiberTypeTypes"
                },
                "lowDispersionMargin": {
                    "format": "double",
                    "type": "number"
                },
                "highDispersionMargin": {
                    "format": "double",
                    "type": "number"
                },
                "simulatedOsnr": {
                    "format": "double",
                    "type": "number"
                },
                "adjustedReceiverOsnr": {
                    "format": "double",
                    "type": "number"
                },
                "rcvOsnrMargin": {
                    "format": "double",
                    "type": "number"
                },
                "rcvPowerMax": {
                    "format": "double",
                    "type": "number"
                },
                "rcvPowerMaxMargin": {
                    "format": "double",
                    "type": "number"
                },
                "rcvPowerMin": {
                    "format": "double",
                    "type": "number"
                },
                "rcvPowerMinMargin": {
                    "format": "double",
                    "type": "number"
                },
                "requiredReceiverPowerMax": {
                    "format": "double",
                    "type": "number"
                },
                "requiredReceiverPowerMin": {
                    "format": "double",
                    "type": "number"
                },
                "transmitterPowerReduction": {
                    "format": "double",
                    "type": "number"
                },
                "leVerificationCertification": {
                    "$ref": "#/definitions/LeVerificationCertificationTypes"
                },
                "mpi": {
                    "format": "double",
                    "type": "number"
                },
                "prfber": {
                    "format": "double",
                    "type": "number"
                },
                "pmdOutage": {
                    "format": "double",
                    "type": "number"
                },
                "allocMarginPdl": {
                    "format": "double",
                    "type": "number"
                },
                "maxRxPower": {
                    "format": "double",
                    "type": "number"
                },
                "e2pn": {
                    "format": "double",
                    "type": "number"
                },
                "estimatedPadValue": {
                    "format": "double",
                    "type": "number"
                },
                "failureReasonDescription": {
                    "type": "string"
                },
                "failureReasonSeverity": {
                    "$ref": "#/definitions/FailureReasonSeverityTypes"
                },
                "failureReasonSummary": {
                    "type": "string"
                },
                "failureReasonType": {
                    "type": "string"
                },
                "minOpsRxPowerLevel": {
                    "format": "double",
                    "type": "number"
                }
            }
        },
        "VPOmsRoute": {
            "required": [
                "aEndNcid",
                "freid",
                "routeIndex",
                "zEndNcid"
            ],
            "type": "object",
            "properties": {
                "freid": {
                    "type": "string"
                },
                "aEndNcid": {
                    "type": "string"
                },
                "aEndNodeName": {
                    "type": "string"
                },
                "omsTlName": {
                    "type": "string"
                },
                "length": {
                    "format": "double",
                    "type": "number"
                },
                "routeIndex": {
                    "format": "int64",
                    "type": "integer"
                },
                "zEndNcid": {
                    "type": "string"
                },
                "zEndNodeName": {
                    "type": "string"
                }
            }
        },
        "VpTypeTypes": {
            "format": "int32",
            "enum": [
                0,
                1,
                2,
                3,
                4
            ],
            "type": "integer"
        },
        "McMixTypeTypes": {
            "format": "int32",
            "enum": [
                0,
                1,
                2
            ],
            "type": "integer"
        },
        "VerificationPathDetail": {
            "required": [
                "aEndVpEndPoint",
                "status",
                "vpDestinationNcid",
                "vpName",
                "vpOmsRoute",
                "vpSourceNcid",
                "zEndVpEndPoint"
            ],
            "type": "object",
            "properties": {
                "vpName": {
                    "type": "string"
                },
                "amplifiedSpanCount": {
                    "format": "int64",
                    "type": "integer"
                },
                "csWavelengthStatusGrid": {
                    "type": "string"
                },
                "fiberLatency": {
                    "format": "double",
                    "type": "number"
                },
                "mateVpName": {
                    "type": "string"
                },
                "maxDispersion": {
                    "format": "double",
                    "type": "number"
                },
                "minDispersion": {
                    "format": "double",
                    "type": "number"
                },
                "modulationClass": {
                    "$ref": "#/definitions/ModulationClassTypes"
                },
                "aEndVpEndPoint": {
                    "$ref": "#/definitions/VpEndPointDetail"
                },
                "zEndVpEndPoint": {
                    "$ref": "#/definitions/VpEndPointDetail"
                },
                "opsEnabled": {
                    "type": "boolean"
                },
                "parentLongPathVpId": {
                    "type": "string"
                },
                "pmd": {
                    "format": "double",
                    "type": "number"
                },
                "status": {
                    "$ref": "#/definitions/StatusTypes"
                },
                "validationResult": {
                    "$ref": "#/definitions/ValidationResult"
                },
                "wavelengthInHex": {
                    "type": "string"
                },
                "wavelengthrange": {
                    "format": "int64",
                    "type": "integer"
                },
                "vpOmsRoute": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/VPOmsRoute"
                    }
                },
                "vpSourceNodeName": {
                    "type": "string"
                },
                "vpDestinationNodeName": {
                    "type": "string"
                },
                "vpSourceNcid": {
                    "type": "string"
                },
                "vpDestinationNcid": {
                    "type": "string"
                },
                "vpType": {
                    "$ref": "#/definitions/VpTypeTypes"
                },
                "mcMixType": {
                    "$ref": "#/definitions/McMixTypeTypes"
                },
                "channelSpacing": {
                    "format": "double",
                    "type": "number"
                },
                "startFrequency": {
                    "format": "double",
                    "type": "number"
                },
                "endFrequency": {
                    "format": "double",
                    "type": "number"
                },
                "txSnrBias": {
                    "format": "double",
                    "type": "number"
                }
            }
        },
        "VerificationPathList": {
            "type": "object",
            "properties": {
                "VerificationPaths": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/VerificationPathDetail"
                    }
                }
            }
        },
        "APP_STATUS": {
            "type": "string",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/env"
        },
        "Action": {
            "properties": {
                "createdAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "CreatedAt"
                },
                "createdBy": {
                    "type": "string",
                    "x-go-name": "CreatedBy"
                },
                "creator": {
                    "type": "string",
                    "x-go-name": "Creator"
                },
                "enabled": {
                    "description": "define if the action is enabled : disabled actions are not executed",
                    "type": "boolean",
                    "x-go-name": "Enabled"
                },
                "execResult": {
                    "description": "The object (created) of the last execution of the action",
                    "type": "string",
                    "x-go-name": "ExecResult"
                },
                "execStatus": {
                    "description": "Status of the last execution of the action",
                    "type": "string",
                    "x-go-name": "ExecStatus"
                },
                "properties": {
                    "type": "object",
                    "x-go-name": "Properties"
                },
                "type": {
                    "$ref": "#/definitions/ActionType"
                },
                "updatedAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "UpdatedAt"
                },
                "updatedBy": {
                    "type": "string",
                    "x-go-name": "UpdatedBy"
                },
                "updator": {
                    "type": "string",
                    "x-go-name": "Updator"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                },
                "watcherUuid": {
                    "description": "The uuid of the watcher to which the action belongs to",
                    "type": "string",
                    "x-go-name": "WatcherUuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/watchers/action"
        },
        "ActionCreate": {
            "properties": {
                "enabled": {
                    "description": "define if the action is enabled : disabled actions are not executed",
                    "type": "boolean",
                    "x-go-name": "Enabled"
                },
                "properties": {
                    "additionalProperties": {
                        "type": "object"
                    },
                    "type": "object",
                    "x-go-name": "Properties"
                },
                "type": {
                    "description": "The type of the action. This determine the content of the Properties field\nCan be : ALERT",
                    "type": "string",
                    "x-go-name": "Type"
                }
            },
            "required": [
                "type"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "ActionType": {
            "format": "uint64",
            "type": "integer",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/helper/types"
        },
        "ActionUpdate": {
            "properties": {
                "enabled": {
                    "description": "define if the action is enabled : disabled actions are not executed",
                    "type": "boolean",
                    "x-go-name": "Enabled"
                },
                "properties": {
                    "additionalProperties": {
                        "type": "object"
                    },
                    "type": "object",
                    "x-go-name": "Properties"
                },
                "type": {
                    "description": "The type of the action. This determine the content of the Properties field\nCan be : ALERT",
                    "type": "string",
                    "x-go-name": "Type"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                },
                "watcherUuid": {
                    "type": "string",
                    "x-go-name": "WatcherUuid"
                }
            },
            "required": [
                "type"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "AlarmHolder": {
            "properties": {
                "Data": {
                    "additionalProperties": {
                        "$ref": "#/definitions/RawAlarm"
                    },
                    "type": "object"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/watchers"
        },
        "AlarmServer": {
            "properties": {
                "id": {
                    "type": "string",
                    "x-go-name": "Id"
                },
                "name": {
                    "type": "string",
                    "x-go-name": "Name"
                },
                "type": {
                    "type": "string",
                    "x-go-name": "Type"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/kafka"
        },
        "AppConfig": {
            "properties": {
                "schedulerCycle": {
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "SchedulerCycle"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "BaseAppConfig": {
            "properties": {
                "schedulerCycle": {
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "SchedulerCycle"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "BaseEntity": {
            "properties": {
                "createdAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "CreatedAt"
                },
                "createdBy": {
                    "type": "string",
                    "x-go-name": "CreatedBy"
                },
                "creator": {
                    "type": "string",
                    "x-go-name": "Creator"
                },
                "updatedAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "UpdatedAt"
                },
                "updatedBy": {
                    "type": "string",
                    "x-go-name": "UpdatedBy"
                },
                "updator": {
                    "type": "string",
                    "x-go-name": "Updator"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "BaseWatcher": {
            "properties": {
                "active": {
                    "description": "The status of the watcher, if it's active or not (inactive watchers are not executed)",
                    "type": "boolean",
                    "x-go-name": "Active"
                },
                "createdAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "CreatedAt"
                },
                "createdBy": {
                    "type": "string",
                    "x-go-name": "CreatedBy"
                },
                "creator": {
                    "type": "string",
                    "x-go-name": "Creator"
                },
                "delay": {
                    "description": "The amount of time (in seconds) to wait for before executing actions",
                    "format": "double",
                    "type": "number",
                    "x-go-name": "Delay"
                },
                "description": {
                    "type": "string",
                    "x-go-name": "Description"
                },
                "domainId": {
                    "type": "string",
                    "x-go-name": "DomainId"
                },
                "evalExpr": {
                    "description": "Define how conditions will be evaluated: Example \"C1 AND C2 OR C3\" where Cx is the tag associated to Condition X",
                    "type": "string",
                    "x-go-name": "EvalExpr"
                },
                "execAt": {
                    "description": "Last time the watcher has been executed",
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "ExecAt"
                },
                "execMessage": {
                    "type": "string",
                    "x-go-name": "ExecMessage"
                },
                "execStatus": {
                    "description": "The status of the last execution of the watcher (This is not the status of conditions evaluation)",
                    "type": "string",
                    "x-go-name": "ExecStatus"
                },
                "name": {
                    "type": "string",
                    "x-go-name": "Name"
                },
                "priority": {
                    "description": "The priority of the watcher",
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "Priority"
                },
                "resourceAlias": {
                    "type": "string",
                    "x-go-name": "ResourceAlias"
                },
                "resourceProvId": {
                    "type": "string",
                    "x-go-name": "ResourceProvId"
                },
                "resourceUuid": {
                    "type": "string",
                    "x-go-name": "ResourceUuid"
                },
                "sound": {
                    "type": "string",
                    "x-go-name": "Sound"
                },
                "triggerCount": {
                    "description": "The amount of time the watcher's conditions has been met consecutively",
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "TriggerCount"
                },
                "type": {
                    "$ref": "#/definitions/WatcherType"
                },
                "updatedAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "UpdatedAt"
                },
                "updatedBy": {
                    "type": "string",
                    "x-go-name": "UpdatedBy"
                },
                "updator": {
                    "type": "string",
                    "x-go-name": "Updator"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "CORE": {
            "type": "string",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/env"
        },
        "ConditionCategory": {
            "format": "uint64",
            "type": "integer",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/helper/types"
        },
        "ConditionCreate": {
            "properties": {
                "properties": {
                    "additionalProperties": {
                        "type": "object"
                    },
                    "type": "object",
                    "x-go-name": "Properties"
                },
                "tag": {
                    "description": "This represents the value with which the condition will be referenced in the EvaluationPath of the watcher",
                    "type": "string",
                    "x-go-name": "Tag"
                },
                "type": {
                    "description": "The type of the condition, this determines the content of the Properties field.\nCan be : 'DISCREPANCY', 'STATE_CHANGE', 'DATA_USAGE', 'BW_USAGE' or `ALARM`",
                    "type": "string",
                    "x-go-name": "Type"
                }
            },
            "required": [
                "type"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "ConditionType": {
            "format": "uint64",
            "type": "integer",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/helper/types"
        },
        "ConditionUpdate": {
            "properties": {
                "properties": {
                    "additionalProperties": {
                        "type": "object"
                    },
                    "type": "object",
                    "x-go-name": "Properties"
                },
                "tag": {
                    "description": "This represents the value with which the condition will be referenced in the EvaluationPath of the watcher",
                    "type": "string",
                    "x-go-name": "Tag"
                },
                "type": {
                    "description": "The type of the condition, this determines the content of the Properties field.\nCan be : 'DISCREPANCY', 'STATE_CHANGE', 'DATA_USAGE', 'BW_USAGE' or `ALARM`",
                    "type": "string",
                    "x-go-name": "Type"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                },
                "watcherUuid": {
                    "type": "string",
                    "x-go-name": "WatcherUuid"
                }
            },
            "required": [
                "type"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "CreateWatcherParams": {
            "properties": {
                "Body": {
                    "$ref": "#/definitions/WatcherCreate"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "DConfig": {
            "properties": {
                "active": {
                    "description": "Enable/disable Discrepancy watch",
                    "type": "boolean",
                    "x-go-name": "Active"
                },
                "alertDescription": {
                    "description": "The description (additionalText) of the alert message that will be send on discrepancy",
                    "type": "string",
                    "x-go-name": "AlertDescription"
                },
                "alertName": {
                    "description": "The name of the alert message that will be send on discrepancy",
                    "type": "string",
                    "x-go-name": "AlertName"
                },
                "alertSeverity": {
                    "description": "The severity of the alert message that will be send on discrepancy",
                    "type": "string",
                    "x-go-name": "AlertSeverity"
                },
                "discrepancyDuration": {
                    "description": "The number of seconds to wait before send an alert of discrepancy",
                    "format": "double",
                    "type": "number",
                    "x-go-name": "DiscrepancyDuration"
                }
            },
            "required": [
                "alertName",
                "alertSeverity",
                "discrepancyDuration"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/watchers"
        },
        "Delete204": {
            "properties": {
                "Message": {
                    "type": "string"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "DiscrepancyData": {
            "properties": {
                "active": {
                    "description": "Enable/disable Discrepancy watch",
                    "type": "boolean",
                    "x-go-name": "Active"
                },
                "alertDescription": {
                    "description": "The description (additionalText) of the alert message that will be send on discrepancy",
                    "type": "string",
                    "x-go-name": "AlertDescription"
                },
                "alertName": {
                    "description": "The name of the alert message that will be send on discrepancy",
                    "type": "string",
                    "x-go-name": "AlertName"
                },
                "alertSeverity": {
                    "description": "The severity of the alert message that will be send on discrepancy",
                    "type": "string",
                    "x-go-name": "AlertSeverity"
                },
                "createdAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "CreatedAt"
                },
                "createdBy": {
                    "type": "string",
                    "x-go-name": "CreatedBy"
                },
                "creator": {
                    "type": "string",
                    "x-go-name": "Creator"
                },
                "discrepancyDuration": {
                    "description": "The number of seconds to wait before send an alert of discrepancy",
                    "format": "double",
                    "type": "number",
                    "x-go-name": "DiscrepancyDuration"
                },
                "sentAlarms": {
                    "$ref": "#/definitions/AlarmHolder"
                },
                "updatedAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "UpdatedAt"
                },
                "updatedBy": {
                    "type": "string",
                    "x-go-name": "UpdatedBy"
                },
                "updator": {
                    "type": "string",
                    "x-go-name": "Updator"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                }
            },
            "required": [
                "alertName",
                "alertSeverity",
                "discrepancyDuration"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "Empty": {
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "ExecRecord": {
            "properties": {
                "actionUuid": {
                    "type": "string",
                    "x-go-name": "ActionUuid"
                },
                "content": {
                    "description": "The json text of the result of the execution of the action",
                    "type": "string",
                    "x-go-name": "Content"
                },
                "contentType": {
                    "description": "The type of the json string of the content field",
                    "type": "string",
                    "x-go-name": "ContentType"
                },
                "createdAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "CreatedAt"
                },
                "triggerCount": {
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "TriggerCount"
                },
                "triggerId": {
                    "description": "The ID of the element (ALARM, RESOURCE, ...) which triggered the execution of the action",
                    "type": "string",
                    "x-go-name": "TriggerId"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                },
                "watcherName": {
                    "type": "string",
                    "x-go-name": "WatcherName"
                },
                "watcherUuid": {
                    "type": "string",
                    "x-go-name": "WatcherUuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "FilenamePathParams": {
            "properties": {
                "filename": {
                    "description": "In: path",
                    "type": "string",
                    "x-go-name": "Filename"
                }
            },
            "required": [
                "filename"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "ForceQueryParams": {
            "properties": {
                "force": {
                    "description": "In: query",
                    "type": "boolean",
                    "x-go-name": "Force"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "IdGetOneParams": {
            "properties": {
                "id": {
                    "description": "In: path",
                    "type": "string",
                    "x-go-name": "Id"
                }
            },
            "required": [
                "id"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "ImportOneCParams": {
            "properties": {
                "Body": {
                    "$ref": "#/definitions/OneCImporter"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "InternalServerError": {
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "Logging": {
            "properties": {
                "level": {
                    "type": "string",
                    "x-go-name": "Level"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/logs"
        },
        "LoggingParams": {
            "properties": {
                "Body": {
                    "$ref": "#/definitions/Logging"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "OneCAlert": {
            "properties": {
                "AlertOccurenceTime": {
                    "format": "double",
                    "type": "number"
                },
                "Criteria": {
                    "type": "string"
                },
                "EmailIsActive": {
                    "type": "boolean"
                },
                "EmailRuleAction": {
                    "type": "string"
                },
                "Icon": {
                    "type": "string"
                },
                "IsActive": {
                    "type": "boolean"
                },
                "IsDismissed": {
                    "type": "boolean"
                },
                "IsMatched": {
                    "type": "boolean"
                },
                "LastActivation": {
                    "format": "double",
                    "type": "number"
                },
                "LastOccurenceTime": {
                    "format": "double",
                    "type": "number"
                },
                "Name": {
                    "type": "string"
                },
                "Occurences": {
                    "format": "int64",
                    "type": "integer"
                },
                "ReceiverList": {
                    "type": "string"
                },
                "ResendDelay": {
                    "format": "int64",
                    "type": "integer"
                },
                "RuleAction": {
                    "type": "string"
                },
                "RuleIsActive": {
                    "type": "boolean"
                },
                "Source": {
                    "type": "string"
                },
                "UserId": {
                    "type": "string"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/engine/importer"
        },
        "OneCImporter": {
            "properties": {
                "attributeMapping": {
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Define a mapping between fields in conditions from OneControl to fields in FilteredAlarm in AEProcessor",
                    "type": "object",
                    "x-go-name": "AttributeMapping"
                },
                "fileName": {
                    "type": "string",
                    "x-go-name": "FileName"
                },
                "forceFullScan": {
                    "description": "Set to true, So the reading of the file don't stop when parsing lines",
                    "type": "boolean",
                    "x-go-name": "ForceFullScan"
                },
                "skipFirstLine": {
                    "description": "Set to true if the first line of the CSV file should not be considered",
                    "type": "boolean",
                    "x-go-name": "SkipFirstLine"
                },
                "userMapping": {
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Define a mapping between username from oneControl (names in the file) and username in tron (in the platform)",
                    "type": "object",
                    "x-go-name": "UserMapping"
                }
            },
            "required": [
                "fileName"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "OneCImporterResult": {
            "properties": {
                "errors": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "x-go-name": "Errors"
                },
                "watchers": {
                    "items": {
                        "$ref": "#/definitions/Watcher"
                    },
                    "type": "array",
                    "x-go-name": "Watchers"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/engine/importer"
        },
        "PmRequestData": {
            "properties": {
                "ResourceKey": {
                    "type": "string"
                },
                "aggregation": {
                    "additionalProperties": {
                        "type": "object"
                    },
                    "type": "object",
                    "x-go-name": "Aggregation"
                },
                "filters": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "x-go-name": "Filters"
                },
                "range": {
                    "additionalProperties": {
                        "type": "object"
                    },
                    "type": "object",
                    "x-go-name": "Range"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/heroic"
        },
        "RawAlarm": {
            "properties": {
                "_type": {
                    "type": "string",
                    "x-go-name": "Type"
                },
                "additionalAttributes": {
                    "type": "object",
                    "x-go-name": "AdditionalAttributes"
                },
                "additionalText": {
                    "type": "string",
                    "x-go-name": "AdditionalText"
                },
                "conditionSource": {
                    "type": "string",
                    "x-go-name": "ConditionSource"
                },
                "id": {
                    "type": "string",
                    "x-go-name": "Id"
                },
                "nativeConditionType": {
                    "type": "string",
                    "x-go-name": "NativeConditionType"
                },
                "op": {
                    "type": "string",
                    "x-go-name": "Op"
                },
                "resource": {
                    "type": "string",
                    "x-go-name": "Resource"
                },
                "resourceId": {
                    "type": "string",
                    "x-go-name": "ResourceId"
                },
                "server": {
                    "$ref": "#/definitions/AlarmServer"
                },
                "serviceAffecting": {
                    "type": "string",
                    "x-go-name": "ServiceAffecting"
                },
                "severity": {
                    "type": "string",
                    "x-go-name": "Severity"
                },
                "time": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "Time"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/kafka"
        },
        "RestFilter": {
            "properties": {
                "facets": {
                    "description": "In: query",
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "x-go-name": "Facets"
                },
                "filter": {
                    "description": "In: query",
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "x-go-name": "Filter"
                },
                "paging": {
                    "description": "In: query",
                    "type": "string",
                    "x-go-name": "Paging"
                },
                "sort": {
                    "description": "In: query",
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "x-go-name": "Sort"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "RsAttr": {
            "properties": {
                "name": {
                    "type": "string",
                    "x-go-name": "Name"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "SoundPath": {
            "properties": {
                "name": {
                    "type": "string",
                    "x-go-name": "Name"
                },
                "path": {
                    "type": "string",
                    "x-go-name": "Path"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/env"
        },
        "TcaRetrive": {
            "properties": {
                "billingCycle": {
                    "format": "uint64",
                    "type": "integer",
                    "x-go-name": "BillingCycle"
                },
                "budget": {
                    "format": "uint64",
                    "type": "integer",
                    "x-go-name": "Budget"
                },
                "resourceId": {
                    "type": "string",
                    "x-go-name": "ResourceId"
                },
                "tcaLevel": {
                    "format": "uint64",
                    "type": "integer",
                    "x-go-name": "TcaLevel"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "UpdateConfigParam": {
            "properties": {
                "Body": {
                    "$ref": "#/definitions/BaseAppConfig"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "UpdateDiscrepancyParams": {
            "properties": {
                "Body": {
                    "$ref": "#/definitions/DConfig"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "UpdateWatcherParams": {
            "properties": {
                "Body": {
                    "$ref": "#/definitions/WatcherUpdate"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "UuidPathParams": {
            "properties": {
                "uuid": {
                    "description": "In: path",
                    "type": "string",
                    "x-go-name": "Uuid"
                }
            },
            "required": [
                "uuid"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "UuidQueryParams": {
            "properties": {
                "uuid": {
                    "description": "In: query",
                    "type": "string",
                    "x-go-name": "Uuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        },
        "ValueItem": {
            "properties": {
                "Key": {
                    "type": "string"
                },
                "Value": {
                    "type": "string"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "Watcher": {
            "properties": {
                "actionCount": {
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "ActionCount"
                },
                "actions": {
                    "description": "The list of actions performed by this watcher if its conditions are meet",
                    "items": {
                        "$ref": "#/definitions/Action"
                    },
                    "type": "array",
                    "x-go-name": "Actions"
                },
                "active": {
                    "description": "The status of the watcher, if it's active or not (inactive watchers are not executed)",
                    "type": "boolean",
                    "x-go-name": "Active"
                },
                "conditionCount": {
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "ConditionCount"
                },
                "conditions": {
                    "description": "The list of conditions evaluated by this watcher during its execution",
                    "items": {
                        "$ref": "#/definitions/Condition"
                    },
                    "type": "array",
                    "x-go-name": "Conditions"
                },
                "createdAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "CreatedAt"
                },
                "createdBy": {
                    "type": "string",
                    "x-go-name": "CreatedBy"
                },
                "creator": {
                    "type": "string",
                    "x-go-name": "Creator"
                },
                "delay": {
                    "description": "The amount of time (in seconds) to wait for before executing actions",
                    "format": "double",
                    "type": "number",
                    "x-go-name": "Delay"
                },
                "description": {
                    "type": "string",
                    "x-go-name": "Description"
                },
                "domainId": {
                    "type": "string",
                    "x-go-name": "DomainId"
                },
                "evalExpr": {
                    "description": "Define how conditions will be evaluated: Example \"C1 AND C2 OR C3\" where Cx is the tag associated to Condition X",
                    "type": "string",
                    "x-go-name": "EvalExpr"
                },
                "execAt": {
                    "description": "Last time the watcher has been executed",
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "ExecAt"
                },
                "execMessage": {
                    "type": "string",
                    "x-go-name": "ExecMessage"
                },
                "execStatus": {
                    "description": "The status of the last execution of the watcher (This is not the status of conditions evaluation)",
                    "type": "string",
                    "x-go-name": "ExecStatus"
                },
                "name": {
                    "type": "string",
                    "x-go-name": "Name"
                },
                "priority": {
                    "description": "The priority of the watcher",
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "Priority"
                },
                "resourceAlias": {
                    "type": "string",
                    "x-go-name": "ResourceAlias"
                },
                "resourceProvId": {
                    "type": "string",
                    "x-go-name": "ResourceProvId"
                },
                "resourceUuid": {
                    "type": "string",
                    "x-go-name": "ResourceUuid"
                },
                "sound": {
                    "type": "string",
                    "x-go-name": "Sound"
                },
                "triggerCount": {
                    "description": "The amount of time the watcher's conditions has been met consecutively",
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "TriggerCount"
                },
                "type": {
                    "$ref": "#/definitions/WatcherType"
                },
                "updatedAt": {
                    "format": "date-time",
                    "type": "string",
                    "x-go-name": "UpdatedAt"
                },
                "updatedBy": {
                    "type": "string",
                    "x-go-name": "UpdatedBy"
                },
                "updator": {
                    "type": "string",
                    "x-go-name": "Updator"
                },
                "uuid": {
                    "type": "string",
                    "x-go-name": "Uuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/watchers"
        },
        "WatcherCreate": {
            "properties": {
                "actions": {
                    "items": {
                        "$ref": "#/definitions/ActionCreate"
                    },
                    "type": "array",
                    "x-go-name": "Actions"
                },
                "active": {
                    "description": "The status of the watcher, if it's active or not (inactive watchers are not executed)",
                    "type": "boolean",
                    "x-go-name": "Active"
                },
                "conditions": {
                    "items": {
                        "$ref": "#/definitions/ConditionCreate"
                    },
                    "type": "array",
                    "x-go-name": "Conditions"
                },
                "delay": {
                    "description": "The amount of time (in seconds) to wait for before executing actions",
                    "format": "double",
                    "type": "number",
                    "x-go-name": "Delay"
                },
                "description": {
                    "type": "string",
                    "x-go-name": "Description"
                },
                "evalExpr": {
                    "description": "Define how conditions will be evaluated: Example \"C1 AND C2 OR C3\" where Cx is the tag associated to Condition X",
                    "type": "string",
                    "x-go-name": "EvalExpr"
                },
                "name": {
                    "type": "string",
                    "x-go-name": "Name"
                },
                "priority": {
                    "description": "The priority of the watcher",
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "Priority"
                },
                "resourceUuid": {
                    "type": "string",
                    "x-go-name": "ResourceUuid"
                },
                "sound": {
                    "type": "string",
                    "x-go-name": "Sound"
                }
            },
            "required": [
                "resourceUuid",
                "name"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "WatcherDiff": {
            "properties": {
                "data": {
                    "items": {
                        "$ref": "#/definitions/WatcherState"
                    },
                    "type": "array",
                    "x-go-name": "Data"
                },
                "diff": {
                    "type": "boolean",
                    "x-go-name": "Diff"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/watchers"
        },
        "WatcherState": {
            "properties": {
                "changeTime": {
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "ChangeTime"
                },
                "sound": {
                    "type": "string",
                    "x-go-name": "Sound"
                },
                "triggerCount": {
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "TriggerCount"
                },
                "watcherUuid": {
                    "type": "string",
                    "x-go-name": "WatcherUuid"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/watchers"
        },
        "WatcherType": {
            "format": "uint64",
            "type": "integer",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/helper/types"
        },
        "WatcherUpdate": {
            "properties": {
                "actions": {
                    "items": {
                        "$ref": "#/definitions/ActionUpdate"
                    },
                    "type": "array",
                    "x-go-name": "Actions"
                },
                "active": {
                    "description": "The status of the watcher, if it's active or not (inactive watchers are not executed)",
                    "type": "boolean",
                    "x-go-name": "Active"
                },
                "addedActions": {
                    "items": {
                        "$ref": "#/definitions/ActionCreate"
                    },
                    "type": "array",
                    "x-go-name": "AddedActions"
                },
                "addedConditions": {
                    "items": {
                        "$ref": "#/definitions/ConditionCreate"
                    },
                    "type": "array",
                    "x-go-name": "AddedConditions"
                },
                "conditions": {
                    "items": {
                        "$ref": "#/definitions/ConditionUpdate"
                    },
                    "type": "array",
                    "x-go-name": "Conditions"
                },
                "delay": {
                    "description": "The amount of time (in seconds) to wait for before executing actions",
                    "format": "double",
                    "type": "number",
                    "x-go-name": "Delay"
                },
                "description": {
                    "type": "string",
                    "x-go-name": "Description"
                },
                "evalExpr": {
                    "description": "Define how conditions will be evaluated: Example \"C1 AND C2 OR C3\" where Cx is the tag associated to Condition X",
                    "type": "string",
                    "x-go-name": "EvalExpr"
                },
                "name": {
                    "type": "string",
                    "x-go-name": "Name"
                },
                "priority": {
                    "description": "The priority of the watcher",
                    "format": "int64",
                    "type": "integer",
                    "x-go-name": "Priority"
                },
                "removedActions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "x-go-name": "RemovedActions"
                },
                "removedConditions": {
                    "items": {
                        "type": "string"
                    },
                    "type": "array",
                    "x-go-name": "RemovedConditions"
                },
                "resourceUuid": {
                    "type": "string",
                    "x-go-name": "ResourceUuid"
                },
                "sound": {
                    "type": "string",
                    "x-go-name": "Sound"
                }
            },
            "required": [
                "resourceUuid",
                "name"
            ],
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/database"
        },
        "retrievePmParams": {
            "properties": {
                "Body": {
                    "$ref": "#/definitions/PmRequestData"
                }
            },
            "type": "object",
            "x-go-package": "bitbucket.ciena.com/agility_gui/pm-watcher/rest/routes"
        }
    },
    "parameters": {
        "fromParam": {
            "type": "string",
            "description": "Start date in format yyyy-mm-dd.",
            "name": "from",
            "in": "query"
        },
        "last_daysParam": {
            "type": "integer",
            "description": "Specify number of days for which audit logs to be exported. When this parameter is provided 'from' and 'to' params are not required.",
            "name": "last_days",
            "in": "query"
        },
        "last_days_delete_Param": {
            "type": "integer",
            "description": "Specify number of days for which audit logs to be deleted. When this parameter is provided 'from' and 'to' params are not required.",
            "name": "last_days",
            "in": "query"
        },
        "toParam": {
            "type": "string",
            "description": "End date in format yyyy-mm-dd.",
            "name": "to",
            "in": "query"
        },
        "applicationParam": {
            "name": "application",
            "in": "query",
            "description": "The application or service to whom this configuration value belongs.\nCan be wildcarded.",
            "required": true,
            "type": "string"
        },
        "instanceParam": {
            "name": "instance",
            "in": "query",
            "description": "The instance identifier of the application. If not provided, the\ninstance will default to the instance agnostic identifier (\"-\").\nCan be wildcarded.",
            "required": false,
            "type": "string"
        },
        "partitionParam": {
            "name": "partition",
            "in": "query",
            "description": "The partition to under which the configuration is found.\nCan be wildcarded.",
            "required": false,
            "type": "string"
        },
        "groupParam": {
            "name": "group",
            "in": "query",
            "description": "Groupings of configurations within a configuration partition. Used to further sort and identify configurations.\nCan be wildcarded.",
            "required": false,
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "nameParam": {
            "name": "name",
            "in": "query",
            "description": "The name of the configuration.\nCan be wildcarded.",
            "required": true,
            "type": "string"
        },
        "callbackParam": {
            "name": "callbacks",
            "in": "query",
            "description": "Include configurations that have callbacks but have not been created. Defaults to false.",
            "required": false,
            "type": "string"
        },
        "failoverParam": {
            "name": "nofailover",
            "in": "query",
            "description": "Used to stop the gcs from returning an instance agnostic configuration if available.  Defaults to false.",
            "required": false,
            "type": "string"
        },
        "sortParam": {
            "name": "sort",
            "in": "query",
            "description": "Sorts the response objects by the field specified. If not every value is specified, the order of precedence goes service, instance, partition, group(s), name with the specified field(s) taking highest precedence.\n\nSimply including the name implies an Ascending sort.  Appending a \\'-\\' to the prefix signifies descending.",
            "required": false,
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "tagsParam": {
            "name": "tags",
            "in": "query",
            "description": "Only include results that have the listed tags.",
            "required": false,
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "passwordParam": {
            "name": "password",
            "in": "query",
            "description": "The optional password for accessing this configuration\nIf the password does not match the configurations password, it will return \\******.",
            "required": false,
            "type": "string"
        }
    },
    "responses": {
        "apiResponse": {
            "schema": {
                "$ref": "#/definitions/ApiResponse"
            }
        },
        "currentPermissionsResponse": {
            "schema": {
                "$ref": "#/definitions/CurrentPermissions"
            }
        },
        "deniedRestResourceResponse": {
            "schema": {
                "$ref": "#/definitions/DeniedRbacResponse"
            }
        },
        "grantedRestResourceResponse": {
            "schema": {
                "$ref": "#/definitions/GrantedRbacResponse"
            },
            "headers": {
                "headers": {
                    "description": "in:headers"
                }
            }
        },
        "resourcesResponse": {
            "schema": {
                "type": "array",
                "items": {
                    "$ref": "#/definitions/Resource"
                }
            }
        },
        "sessionsResponse": {
            "schema": {
                "type": "array",
                "items": {
                    "$ref": "#/definitions/RbacSession"
                }
            }
        },
        "userAccountResponse": {
            "schema": {
                "$ref": "#/definitions/UserAccount"
            }
        }
    },
    "securityDefinitions": {
        "basicAuth": {
            "type": "basic"
        },
        "basic": {
            "type": "apiKey",
            "in": "header",
            "name": "Authorization"
        },
        "USE_SESSION_AUTH": true,
        "JSON_EDITOR": true,
        "APIS_SORTER": "alpha"
    },
    "security": {},
    "tags": [
        {
            "name": "Alarms service information"
        },
        {
            "name": "Retrieve and modify alarms (version 1)"
        },
        {
            "name": "Retrieve and modify alarms (version 2)"
        },
        {
            "name": "Search and filter alarms (version 1)"
        },
        {
            "name": "Search and filter alarms (version 2)"
        },
        {
            "name": "nsa-correlationapiv1correlation",
            "description": "nsa correlation"
        },
        {
            "name": "areas",
            "description": "Asset areas are Git repositories where definitions may be onboarded and accessed"
        },
        {
            "name": "keys",
            "description": "SSH keys authorized for Git access"
        },
        {
            "name": "ping",
            "description": "Asset manager interface to check for readiness"
        },
        {
            "description": "Export, Delete audit logs",
            "name": "audit logs"
        },
        {
            "name": "Retrieves a specific testType"
        },
        {
            "name": "Retrieves and creates auditTargets"
        },
        {
            "name": "Retrieves auditProfiles"
        },
        {
            "name": "Retrieves, creates, updates and deletes audits"
        },
        {
            "name": "Backup Schedule Rest Service V2"
        },
        {
            "name": "Backup Service API V1"
        },
        {
            "name": "Backup Settings Rest Service V2"
        },
        {
            "name": "Backup Snapshot Rest Service V2"
        },
        {
            "name": "Scripts Management",
            "description": "Manage commissioning scripts for shelf and its related equipment projects"
        },
        {
            "name": "Equipment Commissioning",
            "description": "Commission an equipment and its topologies"
        },
        {
            "name": "Policy Management",
            "description": "Manage policies required for commissioning"
        },
        {
            "name": "Policy Defaults Management",
            "description": "Manage default values for each policy"
        },
        {
            "name": "IP Subnet Management",
            "description": "Allocate IPv4 and IPv6 subnet"
        },
        {
            "name": "IPv4 Subnet Management",
            "description": "Allocate IPv4 subnet address for shelf"
        },
        {
            "name": "Reserved IPAddress Management",
            "description": "Load Reserved IPAddress for the Interface"
        },
        {
            "name": "Deployed Network IPv4 Management",
            "description": "Manage deployed IPv4 address for shelf"
        },
        {
            "name": "Retrieval of IPAdress Management",
            "description": "Retrieve IPAddress from given subnet or tid"
        },
        {
            "name": "Service Management",
            "description": "Perform provisioning of services"
        },
        {
            "name": "User Access Privileges Management",
            "description": "Determine 6500 User Access Privileges"
        },
        {
            "name": "Deployment data",
            "description": "Deployment data for the planning project"
        },
        {
            "name": "Configuration Resource v1",
            "description": "Creation, deletion and retrieval of configuration properties"
        },
        {
            "name": "configuration Resource",
            "description": "Creation, deletion and retrieval of configuration properties<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version.WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "description": "Find related services for alarms",
            "name": "Alarm to Service Query"
        },
        {
            "description": "Find related alarms for services",
            "name": "Service to Alarm Query"
        },
        {
            "description": "Modify logging or elastic search client configuration",
            "name": "Debug"
        },
        {
            "name": "credentials",
            "description": "Add credentials for BPI commands"
        },
        {
            "name": "000 - nsiapiequipment",
            "description": "Retrieve, plan, and manage the equipment resources.<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "994 - nsiapiv6equipment",
            "description": "Retrieve, plan, and manage the equipment resources (version 6)."
        },
        {
            "name": "995 - nsiapiv5equipment",
            "description": "Retrieve, plan, and manage the equipment resources (version 5)."
        },
        {
            "name": "996 - nsiapiv4equipment",
            "description": "Retrieve, plan, and manage the equipment resources (version 4)."
        },
        {
            "name": "997 - nsiapiv3equipment",
            "description": "Retrieve, plan, and manage the equipment resources (version 3)."
        },
        {
            "name": "998 - nsiapiv2_0equipment",
            "description": "Retrieve, plan, and manage the equipment resources (version 2)"
        },
        {
            "name": "000 - nsiapiequipmentGroups",
            "description": "Retrieve, plan, and manage the equipment group resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "997 - nsiapiv3equipmentGroups",
            "description": "Retrieve, plan, and manage the equipment group resources (version 3)"
        },
        {
            "name": "998 - nsiapiv2_0equipmentGroups",
            "description": "Retrieve, plan, and manage the equipment group resources (version 2)"
        },
        {
            "name": "000 - nsiapiequipmentHolders",
            "description": "Retrieve and manage the equipment holder resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "997 - nsiapiv3equipmentHolders",
            "description": "Retrieve and manage the equipment holder resources (version 3)"
        },
        {
            "name": "998 - nsiapiv2_0equipmentHolders",
            "description": "Retrieve and manage the equipment holder resources (version 2)"
        },
        {
            "name": "CLIENT PORT Operations",
            "description": "create/enable/disable/delete of Client Port"
        },
        {
            "name": "CLIENT PORT Operations v1",
            "description": "create/enable/disable/delete of Client Port (version 1)"
        },
        {
            "name": "Equipment Intents",
            "description": "Plan equipment, apply planned equipment, or remove planned equipment<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version.WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "Equipment Intents v1",
            "description": "Plan equipment, apply planned equipment, or remove planned equipment (version 1) - deprecated"
        },
        {
            "name": "Equipment Intents v2",
            "description": "Plan equipment, apply planned equipment, or remove planned equipment (version 2)"
        },
        {
            "name": "Equipment Intents v3",
            "description": "Plan equipment, apply planned equipment, or remove planned equipment (version 3)"
        },
        {
            "name": "Equipment State",
            "description": "Update equipment state"
        },
        {
            "name": "Equipment State v1",
            "description": "Update equipment state"
        },
        {
            "name": "REGEN PORTS",
            "description": "Update/Retrieval of Regen Port information"
        },
        {
            "name": "REGEN PORTS v1",
            "description": "Update/Retrieval of Regen Port information (version 1)"
        },
        {
            "name": "Updated Expectations Resource",
            "description": "Retrieval of updated expectations for a given intent id"
        },
        {
            "name": "Updated Expectations Resource v1",
            "description": "Retrieval of updated expectations for a given intent id"
        },
        {
            "name": "controller Parameters Setting",
            "description": "Addition/Retrieval of controllerParametersSetting information"
        },
        {
            "name": "controller Parameters Setting v1",
            "description": "Addition/Retrieval of controller Parameters Setting information (version 1)"
        },
        {
            "name": "000 - nsiapiequipmentStaticSpecs",
            "description": "Retrieve, plan, and manage the equipment static spec resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "996 - nsiapiv1equipmentStaticSpecs",
            "description": "Retrieve, plan, and manage the equipment static spec resources (version 1)."
        },
        {
            "name": "bootstrap",
            "description": "Configure the site parameters (site ID and ACTIVE / STANDBY state)"
        },
        {
            "name": "site-status",
            "description": "Retrieve site status, perform failover (activate a standby site)"
        },
        {
            "name": "site-remotes",
            "description": "Configure, query, and delete remote sites"
        },
        {
            "name": "site-summary",
            "description": "Retrieve the site status of all sites, including local site, remote sites, and previously active sites"
        },
        {
            "name": "cluster-status",
            "description": "Configure and query application specific parameters for the local site"
        },
        {
            "name": "cluster-remote-status",
            "description": "Query application specific parameters for the remote site"
        },
        {
            "name": "resync",
            "description": "Request a resync of application data from the active site"
        },
        {
            "name": "activation",
            "description": "Request to sever the GR connection and make the standby site active"
        },
        {
            "name": "sync-status",
            "description": "Query application specific diagnostic information"
        },
        {
            "name": "geo-clean",
            "description": "Remove IPSec tunnel configuration"
        },
        {
            "name": "config",
            "description": "Fetch, Create and Modify Configurations"
        },
        {
            "name": "config_v2",
            "description": "Fetch Configurations"
        },
        {
            "name": "000 - nsiapigroups",
            "description": "Retrieve, plan, and manage the group resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "999 - nsiapiv3groups",
            "description": "Retrieve, and manage the group resources V3."
        },
        {
            "name": "inventory-historyv1query"
        },
        {
            "name": "000 - nsiapisearch",
            "description": "Search inventory resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "998 - nsiapiv2search",
            "description": "Search inventory resources (version 2)"
        },
        {
            "name": "999 - nsiapiv1search",
            "description": "Search inventory resources (version 1)"
        },
        {
            "name": "SRLG"
        },
        {
            "name": "equipment"
        },
        {
            "name": "equipmentGroups"
        },
        {
            "name": "fres"
        },
        {
            "name": "groups"
        },
        {
            "name": "networkConstructs"
        },
        {
            "name": "tpes"
        },
        {
            "description": "Kafka websocket connections",
            "name": "Socket"
        },
        {
            "name": "Clients"
        },
        {
            "name": "Features"
        },
        {
            "name": "Licenses"
        },
        {
            "name": "Load License file to license server"
        },
        {
            "name": "Register"
        },
        {
            "name": "Reports"
        },
        {
            "name": "Status"
        },
        {
            "name": "application-slices",
            "description": "Application slices that subdomains can associate with"
        },
        {
            "name": "domain-types",
            "description": "Types of domains or systems exposing orchestration entities"
        },
        {
            "name": "domains",
            "description": "Organizational units managing products and resources"
        },
        {
            "name": "jobs",
            "description": "Jobs for execution"
        },
        {
            "name": "products",
            "description": "Offerings to instantiate a resource type in a domain"
        },
        {
            "name": "relationships",
            "description": "Relationships are connections between resources"
        },
        {
            "name": "resource-providers",
            "description": "Providers of domains and resources"
        },
        {
            "name": "resource-types",
            "description": "Resource type schema definitions"
        },
        {
            "name": "resources",
            "description": "Resource instances"
        },
        {
            "name": "resyncs",
            "description": "Resync calls to the southbound"
        },
        {
            "name": "sharing-permissions",
            "description": "Sharing permissions"
        },
        {
            "name": "sub-domains",
            "description": "Subdomain instances that associate resources with application-slices"
        },
        {
            "name": "tag-keys",
            "description": "Tag key/values used to label resources"
        },
        {
            "name": "tenants",
            "description": "Tenants for managing resources"
        },
        {
            "name": "type-artifacts",
            "description": "All schema information including resource types and service templates"
        },
        {
            "name": "000 - configmgmtapiv1bulkOperations",
            "description": "Carry out operations in bulk"
        },
        {
            "name": "Batch Management v1",
            "description": "Manage Batch of Network Elements"
        },
        {
            "name": "Batch Management v2",
            "description": "Manage Batch of Network Elements"
        },
        {
            "name": "Commissioning Functions v1",
            "description": "Manage Commissioning Functions"
        },
        {
            "name": "Commissioning Profiles v1",
            "description": "Manage Commissioning Profiles"
        },
        {
            "name": "Commissioning v1",
            "description": "Commissioning Resource"
        },
        {
            "name": "Configuration Details v1",
            "description": "Information of Configuration Management Operation"
        },
        {
            "name": "Create BFD session v1",
            "description": "Multihop BFD session management"
        },
        {
            "name": "Create?EditDelete a LAG and addremove LAG members."
        },
        {
            "name": "CreateEdit BGP session v1",
            "description": "BGP session management"
        },
        {
            "name": "CreateUpdateDelete Parent Policer v1",
            "description": "Manage Parent Policer"
        },
        {
            "name": "Custom Scripts v1",
            "description": "Manage Custom Scripts"
        },
        {
            "name": "Custom Scripts v2",
            "description": "Manage Custom Scripts"
        },
        {
            "name": "DOC v1",
            "description": "Manages DOC configuration of NEs"
        },
        {
            "name": "Download v1",
            "description": "Download Ne Backups"
        },
        {
            "name": "Fallback Users v1",
            "description": "Manage Fallback Users"
        },
        {
            "name": "Indexing",
            "description": "Manage ReIndexing"
        },
        {
            "name": "Managing Packet resources v1",
            "description": "Operations to manage packet resources"
        },
        {
            "name": "Network Element Backup v1",
            "description": "Backup for network element"
        },
        {
            "name": "Network Element Configuration Job Management v1",
            "description": "Manage network element configuration jobs"
        },
        {
            "name": "Network Element Restore v1",
            "description": "Network element Restore"
        },
        {
            "name": "Network Elements Maintenance Details Resource v1",
            "description": "Details of Network elements maintenance"
        },
        {
            "name": "Network Elements Upgrade Details Resource v1",
            "description": "Network elements upgrade details"
        },
        {
            "name": "Port Provisioning v1",
            "description": "Port Provisioning "
        },
        {
            "name": "Profiles v1",
            "description": "Manage Configuration NE Maintenance Profiles"
        },
        {
            "name": "Profiles v2",
            "description": "Manage Configuration NE Maintenance Profiles"
        },
        {
            "name": "Provision BGP nodal commissioning",
            "description": "BGP nodal commissioning"
        },
        {
            "name": "Queue provisioning."
        },
        {
            "name": "Schedule Management v1",
            "description": "Manage schedules of Network Elements"
        },
        {
            "name": "Scheduls Assign NE v1",
            "description": "Scheduls Assign NE v1"
        },
        {
            "name": "Script Execution Details v1",
            "description": "View script Execution Details "
        },
        {
            "name": "Script Management v1",
            "description": "Manage Configuration Management Script"
        },
        {
            "name": "Script Profiles v1",
            "description": "Manage Script Profiles"
        },
        {
            "name": "Script Profiles v2",
            "description": "Manage Script Profiles"
        },
        {
            "name": "Upgrade operation v1",
            "description": "Upgrade information of the NEs"
        },
        {
            "name": "Upgrade operations v1",
            "description": "Upgrade operations V1"
        },
        {
            "name": "transport resources v1",
            "description": "Manage Transport Resources"
        },
        {
            "name": "vpn resources v1",
            "description": "Manage vpn resources"
        },
        {
            "name": "neprofiles",
            "description": "Provision connection parameters for network elements (management sessions)<p>This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "neprofiles v1",
            "description": "Provision connection parameters for network elements (management sessions)"
        },
        {
            "name": "neprofiles v2",
            "description": "Provision connection parameters for network elements (management sessions)"
        },
        {
            "name": "managementSessions",
            "description": "Enroll, resync, de-enroll and retrieve the management sessions that represent the connections to the network elements<p>This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "managementSessions v3",
            "description": "Enroll, resync, de-enroll and retrieve the management sessions that represent the connections to the network elements"
        },
        {
            "name": "managementSessions v4",
            "description": "Enroll, resync, de-enroll and retrieve the management sessions that represent the connections to the network elements"
        },
        {
            "name": "000 - nsiapinetworkConstructs",
            "description": "Retrieve, plan, and manage the network construct resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "994 - nsiapiv6networkConstructs",
            "description": "Retrieve, plan, and manage the network construct resources (version 6)"
        },
        {
            "name": "995 - nsiapiv5networkConstructs",
            "description": "Retrieve, plan, and manage the network construct resources (version 5)"
        },
        {
            "name": "996 - nsiapiv4networkConstructs",
            "description": "Retrieve, plan, and manage the network construct resources (version 4)"
        },
        {
            "name": "997 - nsiapiv3networkConstructs",
            "description": "Retrieve, plan, and manage the network construct resources (version 3)"
        },
        {
            "name": "000 - nsiapiphysicalLocations",
            "description": "Retrieve, and manage the physical location resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "996 - nsiapiv4physicalLocations",
            "description": "Retrieve, and manage the physical location resources V4."
        },
        {
            "name": "997 - nsiapiv3physicalLocations",
            "description": "Retrieve, and manage the physical location resources V3."
        },
        {
            "name": "998 - nsiapiv2_0physicalLocations",
            "description": "Retrieve, and manage the physical location resources (version 2)"
        },
        {
            "name": "TimingNodeV1"
        },
        {
            "name": "Cards"
        },
        {
            "name": "Reporting"
        },
        {
            "name": "SFTP"
        },
        {
            "name": "Scheduling"
        },
        {
            "name": "Snapshots"
        },
        {
            "name": "Trends"
        },
        {
            "name": "TrendsV2"
        },
        {
            "name": "sftp"
        },
        {
            "name": "OTDR entities",
            "description": "Retrieve, start/stop trace and edit the OTDR entities "
        },
        {
            "name": "OTDR SOR tracelist",
            "description": "Retrieve SOR trace list associated with an OTDR entity "
        },
        {
            "name": "OTDR spanlength",
            "description": "Retrieve the length of the span associated with an OTDR entity "
        },
        {
            "name": "OTDR SOR download v1",
            "description": "SFTP the SOR file to a specified location "
        },
        {
            "name": "OTDR SOR download v2",
            "description": "SFTP the SOR file to a specified location"
        },
        {
            "name": "SOR download profiles",
            "description": "Create, Retrieve, Update and Delete the SOR download profiles "
        },
        {
            "name": "OTDR trace profiles",
            "description": "Create, Retrieve, Update and Delete the OTDR trace profiles"
        },
        {
            "name": "OTDR Saved SOR traces",
            "description": "Retrieve, Update or Delete the SOR traces saved in MCP"
        },
        {
            "name": "OTDR Parse SOR traces",
            "description": "Retrieve parsed SOR trace files saved in MCP"
        },
        {
            "description": "Retrieve the channel margin gauge data.<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs",
            "name": "cmgapi"
        },
        {
            "description": "Retrieve the channel margin gauge data (Version 1).",
            "name": "cmgapiV1"
        },
        {
            "description": "Retrieve the channel margin gauge data (Version 2).",
            "name": "cmgapiV2"
        },
        {
            "description": "Retrieve the fiber loss data.<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs",
            "name": "fiberloss"
        },
        {
            "description": "Retrieve the fiber loss data (Version 1).",
            "name": "fiberlossV1"
        },
        {
            "description": "Retrieve the fiber loss data (Version 2).",
            "name": "fiberlossV2"
        },
        {
            "description": "Retrieve the fiber loss data (Version 3).",
            "name": "fiberlossV3"
        },
        {
            "description": "Retrieve the photonic performance gauge data.<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs",
            "name": "ppgapi"
        },
        {
            "description": "Retrieve the photonic performance gauge data (Version 1).",
            "name": "ppgapiV1"
        },
        {
            "description": "Reset channel margin data (Version 1).",
            "name": "resetchannelmarginV1"
        },
        {
            "description": "Reset photonic performance gauge data (Version 1).",
            "name": "resetppgdataV1"
        },
        {
            "description": "Reset a collection facility",
            "name": "Facilities"
        },
        {
            "description": "Retrieve real-time performance metrics",
            "name": "Real-Time"
        },
        {
            "description": "Search and filter historical performance metrics",
            "name": "Historical_v1"
        },
        {
            "description": "Search and filter historical performance metrics",
            "name": "Historical_v2"
        },
        {
            "description": "Search and filter historical performance metrics",
            "name": "Historical_v3"
        },
        {
            "description": "Search and filter historical performance metrics for oss system",
            "name": "OssQuery_v1"
        },
        {
            "description": "Search and filter historical performance metrics, correlated based on facility (used for SDMON, CHMON and OPM metrics)",
            "name": "Correlated_v1"
        },
        {
            "description": "Search and filter historical performance metrics, do rollup calculation using the 15 minute bin based on the start and end time",
            "name": "RollupCalculation_v1"
        },
        {
            "description": "Metadata for historical performance metrics",
            "name": "Meta_v2"
        },
        {
            "description": "Configure collection intervals and resolution for individual or groups of devices",
            "name": "Collections_v2"
        },
        {
            "description": "Configure collection intervals and resolution for individual or groups of devices",
            "name": "Collections_v3"
        },
        {
            "description": "Search for all possible values that exist for certain tags",
            "name": "Auto-Complete"
        },
        {
            "description": "Get all possible location fields for performance metrics",
            "name": "Locations"
        },
        {
            "name": "pinpointapiv1activetraces",
            "description": "Retrieve, manage active trace resource"
        },
        {
            "name": "pinpointapiv1fiberpaths",
            "description": "Retrieve, manage fiberpath resource"
        },
        {
            "name": "pinpointapiv1kml",
            "description": "Retrieve, manage kml resource"
        },
        {
            "name": "pinpointapiv1nes",
            "description": "Retrieve, manage network element resource"
        },
        {
            "name": "pinpointapiv1others",
            "description": "Create spool/waypoint resource"
        },
        {
            "name": "pinpointapiv1sor",
            "description": "Retrieve, manage sor trace resource"
        },
        {
            "description": "Derive Metrics from existing ones",
            "name": "Derived Metrics"
        },
        {
            "description": "Create, update, and delete thresholds",
            "name": "Thresholds"
        },
        {
            "description": "Create, update, and delete threshold groups",
            "name": "Threshold Groups"
        },
        {
            "description": "Create, update, and delete resource profiles",
            "name": "Resource Profiles"
        },
        {
            "name": "conditions",
            "description": "Determine applicability of policies"
        },
        {
            "name": "ping",
            "description": "Policy manager interface to check for readiness"
        },
        {
            "name": "policies",
            "description": "Authorization and event policies"
        },
        {
            "name": "realms",
            "description": "Defines the component scope to which policies apply"
        },
        {
            "name": "000 - nsiapitpes",
            "description": "Retrieve, plan, and manage the tpe resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "994 - nsiapiv6tpes",
            "description": "Retrieve, plan, and manage the tpe resources (version 6)"
        },
        {
            "name": "995 - nsiapiv5tpes",
            "description": "Retrieve, plan, and manage the tpe resources (version 5)"
        },
        {
            "name": "996 - nsiapiv4tpes",
            "description": "Retrieve, plan, and manage the tpe resources (version 4)"
        },
        {
            "name": "997 - nsiapiv3tpes",
            "description": "Retrieve, plan, and manage the tpe resources (version 3)"
        },
        {
            "name": "998 - nsiapiv2_0tpes",
            "description": "Retrieve, plan, and manage the tpe resources (version 2)."
        },
        {
            "name": "Problems"
        },
        {
            "name": "000 - reportingapiv1report",
            "description": "Create/Delete/Fetch, different reports."
        },
        {
            "name": "000 - reportingapiv1schedule",
            "description": "Create/Delete/Fetch a schedule for different report type, So that report can be generated at a specific schedule."
        },
        {
            "name": "000 - reportingapiv2report",
            "description": "Create/Delete/Fetch, different reports."
        },
        {
            "name": "000 - reportingapiv2schedule",
            "description": "Create/Delete/Fetch schedules for report generation. Supports both one time and recurring schedules."
        },
        {
            "name": "000 - nsiapicontrollers",
            "description": "Retrieve, plan, and manage the controller resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "995 - nsiapiv2controllers",
            "description": "Retrieve, plan, and manage the controller resources (version 2)."
        },
        {
            "name": "996 - nsiapiv1controllers",
            "description": "Retrieve, plan, and manage the controller resources (version 1)."
        },
        {
            "name": "RaController V1",
            "description": "Provides data about managed RA instances."
        },
        {
            "name": "smoapiv1smoProjects"
        },
        {
            "name": "smoapiv1smoServices"
        },
        {
            "name": "Service Intents",
            "description": "Creation, deletion and retrieval of intended L0 (CD Fixed) services<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version.WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "Service Intents v1",
            "description": "Creation, deletion and retrieval of intended L0 (CD Fixed) services (version 1)"
        },
        {
            "name": "Service Intents v2",
            "description": "Creation, deletion and retrieval of intended L0 (CD Fixed) services (version 2)"
        },
        {
            "name": "Service provisioning (flex)"
        },
        {
            "name": "mcp-view v2"
        },
        {
            "name": "mcp-view v1"
        },
        {
            "name": "000 - nsiapifres",
            "description": "Retrieve, plan, and manage the fre resources<p/>&nbsp;&nbsp;&nbsp;&nbsp;This non-versioned API is meant for use by an end-user as a pass-through to the latest version. WARNING - backwards compatibility is not guaranteed for non-versioned APIs."
        },
        {
            "name": "994 - nsiapiv6fres",
            "description": "Retrieve, plan, and manage the fre resources (version 6)"
        },
        {
            "name": "994 - nsiapiv7fres",
            "description": "Retrieve, plan, and manage the fre resources (version 7)"
        },
        {
            "name": "995 - nsiapiv5fres",
            "description": "Retrieve, plan, and manage the fre resources (version 5)"
        },
        {
            "name": "996 - nsiapiv4fres",
            "description": "Retrieve, plan, and manage the fre resources (version 4)"
        },
        {
            "name": "997 - nsiapiv3fres",
            "description": "Retrieve, plan, and manage the fre resources (version 3)"
        },
        {
            "name": "998 - nsiapiv2_0fres",
            "description": "Retrieve, plan, and manage the fre resources (version 2)"
        },
        {
            "name": "overlay"
        },
        {
            "name": "slv-supportapiv1equipmentGraphics",
            "description": "Manage the retrieval of equipment graphics"
        },
        {
            "name": "slv-supportapiv1equipmentLayout",
            "description": "Manage the retrieval of equipment layouts"
        },
        {
            "name": "slv-supportapiv1shelfGraphics",
            "description": "Manage the retrieval of shelf graphics"
        },
        {
            "name": "slv-supportapiv1shelfLayouts",
            "description": "Manage the retrieval of shelf layouts"
        },
        {
            "name": "SRLG",
            "description": "Storing/Retrieving of SRLG information on fres/networkConstructs/equipments/tpes"
        },
        {
            "name": "SRLG Jobs",
            "description": "Retrieving/managing SRLG Jobs"
        },
        {
            "name": "SRLG Jobs V3",
            "description": "Retrieving/managing SRLG Jobs"
        },
        {
            "name": "SRLG Schedules",
            "description": "Scheduling of SRLG operations"
        },
        {
            "name": "SRLG Schedules v3",
            "description": "Scheduling of SRLG operations"
        },
        {
            "name": "SRLG v1",
            "description": "storing of SRLG information on roadmlines"
        },
        {
            "name": "SRLG v2",
            "description": "Storing/Retrieving of SRLG information on fres/networkConstructs/equipment/tpes"
        },
        {
            "name": "SRLG v3",
            "description": "SRLG specific operations."
        },
        {
            "name": "997 - nsiapisrlgformat",
            "description": "Retrieve, plan, and manage the SrlgFormats resources."
        },
        {
            "name": "997 - nsiapiv3srlgformat",
            "description": "Retrieve, plan, and manage the SrlgFormats resources (version 3)."
        },
        {
            "name": "997 - nsiapiv4srlgformat",
            "description": "Retrieve, plan, and manage the SrlgFormats resources (version 4)."
        },
        {
            "name": "997 - nsiapisrlgpool",
            "description": "Assign and release srlg to/from External Pool."
        },
        {
            "name": "997 - nsiapiv1srlgpool",
            "description": "Assign and release srlg to/from External Pool."
        },
        {
            "name": "Manage repeaters scan",
            "description": "Starts a new submarine Repeater Scan"
        },
        {
            "name": "History scans",
            "description": "Get history scans"
        },
        {
            "name": "Schedule scans",
            "description": "Schedule a Scan"
        },
        {
            "name": "Configuration loss",
            "description": "Get configuration loss"
        },
        {
            "name": "Set baseline scan",
            "description": "Set baseline scan"
        },
        {
            "name": "Import",
            "description": "Import scan data, cable system, slte system, repeater system files. Delete repeater system, slte system and cable system files"
        },
        {
            "name": "Export",
            "description": "Export data to file"
        },
        {
            "name": "Cable system Details",
            "description": "Get cable system logical view, attributes and repeaters"
        },
        {
            "name": "Commit / Cleanup cable system configuration",
            "description": "Commit / Cleanup cable system configuration for a customer"
        },
        {
            "name": "Trend view",
            "description": "Trend view of scan"
        },
        {
            "name": "Wetplant Components",
            "description": "Get the Wetplant component's optical power details"
        },
        {
            "name": "Spectrum Sharing",
            "description": "Get the spectrum sharing terminals and details of a specific terminal"
        },
        {
            "name": "Provision Spectrum",
            "description": "Provision spectrum for a customer"
        },
        {
            "name": "Spectrum Facility",
            "description": "Get Nmcc facility details and update switch selector"
        },
        {
            "name": "tdcapiv1configProperties",
            "description": "Manage the test and diagnostics configuration properties"
        },
        {
            "name": "tdcapiv1diagfiberloss",
            "description": "Retrieves fiber loss data"
        },
        {
            "name": "tdcapiv1diagpmsprfbers",
            "description": "Test Pre-FEC (Forward Error Correction) Bit Error Rate"
        },
        {
            "name": "tdcapiv1diagspectral",
            "description": "Retrieves spectral data"
        },
        {
            "name": "tdcapiv1operationalStatus",
            "description": "Retrieves operational status"
        },
        {
            "name": "tdcapiv1pageLoad",
            "description": "Perform testing operations"
        },
        {
            "name": "tdcapiv1tests",
            "description": "Perform testing operations"
        },
        {
            "name": "tdcapiv1testsits",
            "description": "Perform Integrated Test Set Configuration related operations"
        },
        {
            "name": "tdcapiv2diagoperMeas",
            "description": "Retrieve or Reset Operational Measurements for a service"
        },
        {
            "name": "Topic Management"
        },
        {
            "name": "Topic Monitoring"
        },
        {
            "name": "Upgrade Rest Service v1",
            "description": "Upgrade Rest Service"
        }
    ],
    "externalDocs": {}
}
